如何在安卓上将视频录制到流中



Android MediaRecorder允许将视频保存到文件(文件或套接字):

setOutputFile(FileDescriptor fd);
setOutputFile(String path)

如何将视频数据保存到输出流?它将用于流式视频录制。

您可以使用

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()

应贷方的信用。

使用特定于Android的LocalServerSocket似乎是将视频数据作为流获取的唯一可能方法。简而言之,您必须:

  1. 创建本地服务器套接字实例
  2. 使用文件描述符(mediaRecorder.setOutputFile(FileDescriptor fd))将其设置为MediaRecorder实例的输出文件;)
  3. 接受连接
  4. 在循环中的单独线程中从中读取字节(如从输入流)

另一个想法?

相关内容

  • 没有找到相关文章

最新更新