【问题标题】:Android MediaRecorder in streaming流媒体中的 Android MediaRecorder
【发布时间】:2011-09-06 13:27:53
【问题描述】:
是否可以“流式传输”MediaRecorder 的结果?
我能看到的唯一方法是 mediaRecorder.setOutputFile,它接收 FileDescriptor。所以我可以将结果写入文件或通过套接字发送到接收器。
我尝试了第二种解决方案,但结果视频已损坏,因为在流中不可“搜索”。
想法是使用android设备的摄像头将结果发布到Red5。
【问题讨论】:
标签:
android
stream
red5
mediarecorder
【解决方案1】:
【讨论】:
-
Here's相关代码。似乎使用环回 unix 套接字来获取数据。有点hacky,但我认为并不过分。
【解决方案2】:
是的,这是可能的。
这是带有 FileDescriptor 和套接字的示例代码:
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();