在ios中,当再次调用getUserMedia时,现有流将被终止



iPad在视频聊天应用程序中使用Safari时出现问题。我们希望呈现用户的视频源,并提供在弹出窗口中选择自己的网络摄像头设备的能力。但是,为了显示所选的网络摄像头设备,所选网络摄像头的视频会显示在弹出窗口中,但原始摄像头馈送会变黑,音频也会被切断。调用navigator.mediaDevices.getUserMedia((.时似乎会发生这种情况

我获取设备的代码

const constraints = {
speaker: {deviceId: audioOutputSelect.value ? {exact: audioOutputSelect.value} : undefined},
audio: {deviceId: audioInputSelect.value ? {exact: audioInputSelect.value} : undefined},
video: {deviceId: videoSelect.value ? {exact: videoSelect.value} : undefined}
};
navigator.mediaDevices.getUserMedia(constraints).then((stream) => {
...
})

最大的问题是现有视频的音频消失了。

这是Safari中getUserMedia的已知限制,早在2018年https://webrtchacks.com/guide-to-safari-webrtc/

如果你的弹出视频只是一个HTML元素,那么应该可以重用MediaStream对象;选择你的相机";对话框这仍然不起作用。

相关内容

最新更新