如何解决更改音轨时媒体记录停止Webrtc
我正在与webrtc一起录制音频和视频,但遇到了问题 我开始使用MediaRecorder进行录制,但是它可以正常工作,但是当我更改本地录制流的音频轨道(用于在录制过程中更改音频输入设备以捕获其他麦克风的录制)时,MediaRecorder停止发送Blob数据。
mediaRecorder = new MediaRecorder(window.stream,options);
var audioTrack = window.stream.getAudioTracks()[0];
mediaRecorder.start(1000);
更改设备的功能(在录制过程中切换麦克风)
audioTrack.stop();
const new_stream = await gUM({ audio: constraints });
const new_track = new_stream.getAudioTracks()[0];
audioTrack = new_track;
如果我停止了audioTrack,则MediaRecorder停止发送blob,但是如果我不停止分配新轨道,它就可以正常工作,但设备没有更改,它仍然会捕获以前设备的录音。我也应用了约束,但它也不能反映音频的任何变化
await audioTrack.applyConstraints(Object.assign(audioTrack.getSettings(),constraints));
我的要求只是不要在更换新设备(麦克风/摄像头)后停止记录
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。