13

Android MediaRecorderでは、ビデオをファイル (ファイルまたはソケット) に保存できます。

setOutputFile(FileDescriptor fd);
setOutputFile(String path)

videodata を OutputStream に保存するには? ストリーミングビデオの録画に使用されます。

4

2 に答える 2

14

あなたはそれを使用してそれを行うことができますParcelFileDescriptor.fromSocket():

String hostname = "example.com";
int port = 1234;

Socket socket = new Socket(InetAddress.getByName(hostname), port);

ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket);

MediaRecorder recorder = new MediaRecorder();
recorder.setOutputFile(pfd.getFileDescriptor());
recorder.prepare();
recorder.start();

UDP を優先する場合は、ParcelFileDescriptor.fromDatagramSocket()代わりに使用してください。

クレジットが必要なクレジット。

于 2013-01-30T08:14:01.830 に答える
7

Android 固有のLocalServerSocketを使用することが、ビデオ データをストリームとして取得する唯一の方法のようです。簡単に言えば、次のことを行う必要があります。

  1. LocalServerSocket インスタンスを作成する
  2. ファイル記述子を使用して MediaRecorder インスタンスに出力ファイルとして設定します (mediaRecorder.setOutputFile(FileDescriptor fd);)
  3. 接続を受け入れる
  4. ループ内の別のスレッドで (InputStream からのように) バイトを読み取ります

別のアイデア?

于 2013-01-30T07:56:23.610 に答える