我正在使用 Opentok JavaScript WebRTC 库来托管一对一的视频聊天(点对点)。我可以完美地看到同行的视频并听到音频。
我的愿望是录制其他聊天方(远程)的音频/视频。为此,我使用RecordRTC。我能够录制其他聊天参与者的视频(视频被输出到 HTML 视频元素),但是,到目前为止,我还没有成功录制音频(我可以得到一个死寂的 .wav 文件)。使用 Chrome 金丝雀 (30.0.1554.0)。这是我的方法:
var clientVideo = $('#peerdiv video')[0];//peer's video (html element)
var serverVideo = $('#myselfdiv video')[0];//my video (html element)
var context = new webkitAudioContext();
var clientStream = context.createMediaStreamSource(clientVideo.webRTCStream);
var serverStream = context.createMediaStreamSource(serverVideo.webRTCStream);
webRTCStream 是我通过修改 opentok js 库的源分配给 HTMLVideoElement 对象的自定义属性。它包含链接到相应 <video> 元素的 MediaStream 对象。
var recorder = RecordRTC({
video: clientVideo,
stream: clientStream
});
recorder.recordAudio();
recorder.recordVideo();
视频被录制。音频文件也被创建,它的长度接近视频的长度,但是,它是完全无声的(是的,在录制过程中另一边有很多噪音)
我已经使用显示我的网络摄像头的视频流(和音频)的视频元素对此进行了测试,并且它有效:音频和视频都被记录了:
...
var recorder = RecordRTC({
video: serverVideo,
stream: serverStream
});
...
来自远程位置的流有什么特别之处吗?关于这个问题的任何指导都会非常有帮助。