如何使用 webrtc insde google chrome 扩展?
How to use webrtc insde google chrome extension?
我开发了一个 google chrome 扩展。
我正在尝试在内部集成 webRTC 功能:
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
console.log("step1");
navigator.getUserMedia({audio: true, video: true}, function(stream){
console.log("step2");
$('#myVideo').prop('src', URL.createObjectURL(stream));
window.localStream = stream;
console.log("step3");
}, function(error){
console.log(error);
});
我收到一个错误:
step1
NavigatorUserMediaError {constraintName: "", message: "", name: "InvalidStateError"}
有什么想法吗?
我需要任何特殊许可才能在我的扩展中使用 webrtc 吗?是否可以在扩展程序中访问 webrtc?
问候
这是我所谓的 "popup" 的屏幕截图(扩展名 = 弹出窗口 + 背景)
为了在 Chrome 扩展程序的后台页面中使用 WebRTC 或语音识别 API,您需要在选项卡中从您的扩展程序打开一个页面,(弹出窗口)window 或 iframe(选项卡内)(如果您使用 iframe,请不要忘记在 web_accessible_resources
中列出页面)。在该页面中,调用navigator.webkitGetUserMedia
触发权限提示。用户批准权限后,您的扩展程序(尤其是后台页面)可以再次请求访问麦克风/摄像头,请求将自动获得批准。
一次性提示后的默许是否可取is debated, and this is also the reason that audioCapture
and videoCapture
permissions cannot be used in extensions yet。 audioCapture
和 videoCapture
权限 将 在未来变得可用,因此我建议如果您的扩展程序需要这些权限,即使在Chrome 的当前版本无法识别扩展权限。
我开发了一个 google chrome 扩展。
我正在尝试在内部集成 webRTC 功能:
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
console.log("step1");
navigator.getUserMedia({audio: true, video: true}, function(stream){
console.log("step2");
$('#myVideo').prop('src', URL.createObjectURL(stream));
window.localStream = stream;
console.log("step3");
}, function(error){
console.log(error);
});
我收到一个错误:
step1
NavigatorUserMediaError {constraintName: "", message: "", name: "InvalidStateError"}
有什么想法吗?
我需要任何特殊许可才能在我的扩展中使用 webrtc 吗?是否可以在扩展程序中访问 webrtc?
问候
这是我所谓的 "popup" 的屏幕截图(扩展名 = 弹出窗口 + 背景)
为了在 Chrome 扩展程序的后台页面中使用 WebRTC 或语音识别 API,您需要在选项卡中从您的扩展程序打开一个页面,(弹出窗口)window 或 iframe(选项卡内)(如果您使用 iframe,请不要忘记在 web_accessible_resources
中列出页面)。在该页面中,调用navigator.webkitGetUserMedia
触发权限提示。用户批准权限后,您的扩展程序(尤其是后台页面)可以再次请求访问麦克风/摄像头,请求将自动获得批准。
一次性提示后的默许是否可取is debated, and this is also the reason that audioCapture
and videoCapture
permissions cannot be used in extensions yet。 audioCapture
和 videoCapture
权限 将 在未来变得可用,因此我建议如果您的扩展程序需要这些权限,即使在Chrome 的当前版本无法识别扩展权限。