Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webrtc 在视频通话期间向传入流添加音频,以录制通话双方的语音_Webrtc_Web Audio Api_Mediastream_Mediarecorder Api - Fatal编程技术网

Webrtc 在视频通话期间向传入流添加音频,以录制通话双方的语音

Webrtc 在视频通话期间向传入流添加音频,以录制通话双方的语音,webrtc,web-audio-api,mediastream,mediarecorder-api,Webrtc,Web Audio Api,Mediastream,Mediarecorder Api,我已经使用peer js创建了一个应用程序来启动视频通话。我正在使用mediarecorder Api记录来自调用方的传入流。但是,我需要在录音中同时添加呼叫方和接收方的音频,视频应该只包含呼叫方(传入流) 我试过这个。然而,在记录它的时候,我得到了一个vlc无法读取的文件 我还尝试将本地音频曲目添加到录制流中,但这不会将两个音频曲目合并为一个,并且只录制收入流的音频。我可以通过使用Web audio API来实现这一点。我从两个流中提取音频曲目,并使用音频上下文将它们合并到一个流中 var O

我已经使用peer js创建了一个应用程序来启动视频通话。我正在使用mediarecorder Api记录来自调用方的传入流。但是,我需要在录音中同时添加呼叫方和接收方的音频,视频应该只包含呼叫方(传入流)

我试过这个。然而,在记录它的时候,我得到了一个vlc无法读取的文件


我还尝试将本地音频曲目添加到录制流中,但这不会将两个音频曲目合并为一个,并且只录制收入流的音频。

我可以通过使用Web audio API来实现这一点。我从两个流中提取音频曲目,并使用音频上下文将它们合并到一个流中

var OutgoingAudioMediaStream = new MediaStream();
OutgoingAudioMediaStream.addTrack(OutgoingStream.getAudioTracks()[0]);

var IncomingAudioMediaStream = new MediaStream();
IncomingAudioMediaStream.addTrack(IncomingStream.getAudioTracks()[0]);

const audioContext = new AudioContext();

audioIn_01 = audioContext.createMediaStreamSource(OutgoingAudioMediaStream);
audioIn_02 = audioContext.createMediaStreamSource(IncomingAudioMediaStream);

dest = audioContext.createMediaStreamDestination();

audioIn_01.connect(dest);
audioIn_02.connect(dest);

dest.stream.addTrack(IncomingStream.getVideoTracks()[0]);
var RecordingStream = dest.stream;

这非常有效。

请添加您的答案作为答案。