我正在尝试使用sipML5完成的chrome通话。
因此,基本上,呼叫处理工作正常,并且通话顺利进行,并且双方都可以彼此听到对方的声音。
我要记录通话时出现问题。 所以我只是做了最少的工作就得到了录音。
chunks = [];
navigator.mediaDevices.getUserMedia({audio:true})
.then(stream => {
rec = new MediaRecorder(stream);
rec.ondataavailable = e => {
chunks.push(e.data);
}
})
.catch(e=>console.log(e));
然后与某人打个电话,它会响起,他们接听,
然后在控制台中执行rec.start();
。然后,经过5秒钟的交谈,我结束了通话并在控制台中执行rec.stop();
。
然后我这样做:
blob = new Blob(chunks,{type:'audio/ogg'});
$('.audio-remote', document).attr('src',URL.createObjectURL(blob))
创建blob并向音频元素提供所需的src。
然后,该音频元素立即开始播放音频,并且它只是对话的浏览器端。手机侧面什么也没听到。因此,只有通过麦克风的声音被记录下来。
现在我不是WebRTC的专家,但是getUserMedia似乎只为您提供设备和输入流,与您与另一方进行饮酒诱导的呼叫无关。显然,这是sipML5在内部必须要做的就是获取我的输入,并将其发送到我们使用的sip提供程序,然后将其转换为电话。来自电话的声音只是通过该音频元素呈现给我的。
所以我想知道是否有办法按原样捕获此对话? 可以将来自sip客户端的输入和语音数据捕获为一个对话。
谢谢。