如何实现MediaRecorder的“流式”结果?
我所见的唯一方法是使用mediaRecorder.setOutputFile,该方法接收一个文件描述符。因此,我可以将结果写入文件或通过套接字发送给接收器。
我尝试了第二种解决方案,但是由于在流中无法“定位”,导致结果视频损坏。
我的想法是使用安卓设备的相机将结果发布到Red5。
如何实现MediaRecorder的“流式”结果?
我所见的唯一方法是使用mediaRecorder.setOutputFile,该方法接收一个文件描述符。因此,我可以将结果写入文件或通过套接字发送给接收器。
我尝试了第二种解决方案,但是由于在流中无法“定位”,导致结果视频损坏。
我的想法是使用安卓设备的相机将结果发布到Red5。
可以,有很多例子。您可以查看sipdroid示例,或者更简单的Android IP camera。
祝您好运。
是的,这是可能的。 这里是使用FileDescriptor和socket的示例代码:
socket = new Socket("192.168.1.234",8888);
ParcelFileDescriptor fileDescriptor = ParcelFileDescriptor.fromSocket(socket);
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setOutputFile(fileDescriptor.getFileDescriptor);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try {
mRecorder.prepare();
} catch (IOException e) {
Log.e(LOG_TAG, "prepare() failed");
}
mRecorder.start();