是否只有在使用MediaRecorder启用视频的情况下才能录制音轨



我正在处理一个场景,在加入会话之前,我将请求相机和麦克风的权限。所以我在navigator.mediaDevices.getUserMedia中应用了以下约束

const constraints = {
audio: true,
video: {
width: 1280, height: 720
}
};

到这里为止一切都很好。但现在我只想用MediaRecorder录制音轨。其他用户可以看到其他用户的视频,但在当前会话中,我只想为所有用户录制音频内容。

我试着设置MimeType,但它仍然会记录视频内容。我认为MimeType只是为每首曲目设置mime类型。

我需要在上传blob数据的服务器端做些什么吗?

您可以创建一个新的MediaStream对象,在该对象上只添加当前MediaStream中的音轨:

const recording_stream = new MediaStream();
for (const track of gum_stream.getAudioTracks()) {
recording_stream.addTrack(track);
}
const recorder = new MediaRecorder(recording_stream);

最新更新