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似乎是将视频数据作为流获取的唯一可能方法。简而言之,您必须:
- 创建本地服务器套接字实例
- 使用文件描述符(mediaRecorder.setOutputFile(FileDescriptor fd))将其设置为MediaRecorder实例的输出文件;)
- 接受连接
- 在循环中的单独线程中从中读取字节(如从输入流)
另一个想法?