WebRTC 网络摄像头不适用于 Safari 和 Microsoft Edge
WebRTC Webcam not working on Safari and Microsoft Edge
我想访问网络摄像头和音频设备以使用 WebRTC 录制视频。但是,它仅适用于 Chrome 和 Firefox。
有趣的是,它不适用于 Edge 和 Safari。它要求相机使用权限,当我们授予权限时,相机不会加载,我在控制台中收到以下错误。
Safari 和 Edge 上的错误消息
navigator.getUserMedia error: ReferenceError
我的代码是这样的
async init(constraints) {
try {
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
const stream = await navigator.mediaDevices.getUserMedia(constraints);
this.handleSuccess(stream);
} else {
this.setState({
error:
'Your Browser is not supported. Please use latest version of Chrome, Safari, Firefox or Edge.',
});
}
if (!MediaRecorder) {
this.setState({
error:
'Your Browser is not supported. Please use latest version of Chrome, Safari, Firefox or Edge.',
});
}
} catch (e) {
this.setState({
error:
'We could not find any audio/video recording device. Please make sure you have given permission to use webcam and microphone.',
});
console.error('navigator.getUserMedia error:', e.name);
}
}
关于在所有这些浏览器中完美加载相机的任何建议。
您似乎在 MS Edge 旧版浏览器中遇到了问题。有误请指正
我尝试在 MS Edge 旧版浏览器 (44.18362.449.0) 中测试官方示例代码,它运行正常。
我建议你可以在 MS Edge 浏览器中测试这个例子,让我们知道它是否有效。
如果可行,那么您可以根据 Github 页面上的官方示例修改您的代码。
如果您使用的是旧版本的 MS Edge 浏览器,那么我建议您更新到最新版本并再次测试该问题。
我想访问网络摄像头和音频设备以使用 WebRTC 录制视频。但是,它仅适用于 Chrome 和 Firefox。
有趣的是,它不适用于 Edge 和 Safari。它要求相机使用权限,当我们授予权限时,相机不会加载,我在控制台中收到以下错误。
Safari 和 Edge 上的错误消息
navigator.getUserMedia error: ReferenceError
我的代码是这样的
async init(constraints) {
try {
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
const stream = await navigator.mediaDevices.getUserMedia(constraints);
this.handleSuccess(stream);
} else {
this.setState({
error:
'Your Browser is not supported. Please use latest version of Chrome, Safari, Firefox or Edge.',
});
}
if (!MediaRecorder) {
this.setState({
error:
'Your Browser is not supported. Please use latest version of Chrome, Safari, Firefox or Edge.',
});
}
} catch (e) {
this.setState({
error:
'We could not find any audio/video recording device. Please make sure you have given permission to use webcam and microphone.',
});
console.error('navigator.getUserMedia error:', e.name);
}
}
关于在所有这些浏览器中完美加载相机的任何建议。
您似乎在 MS Edge 旧版浏览器中遇到了问题。有误请指正
我尝试在 MS Edge 旧版浏览器 (44.18362.449.0) 中测试官方示例代码,它运行正常。
我建议你可以在 MS Edge 浏览器中测试这个例子,让我们知道它是否有效。
如果可行,那么您可以根据 Github 页面上的官方示例修改您的代码。
如果您使用的是旧版本的 MS Edge 浏览器,那么我建议您更新到最新版本并再次测试该问题。