yar*_*rek 2 google-chrome-extension webrtc
我开发了一个谷歌浏览器扩展程序.
我现在正在尝试将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);
});
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
step1
NavigatorUserMediaError {constraintName: "", message: "", name: "InvalidStateError"}
Run Code Online (Sandbox Code Playgroud)
任何的想法 ?
我是否需要任何特殊权限才能在我的扩展程序中使用webrtc?是否可以在扩展中访问webrtc?
问候
这是我称之为"弹出窗口"(extension = popup + background)的屏幕截图

要在Chrome扩展程序的后台页面中使用WebRTC或语音识别API,您需要在扩展程序,(弹出窗口)窗口或iframe(在标签内)中打开扩展程序页面(如果您使用iframe,别忘了列出页面web_accessible_resources).在此页面中,调用navigator.webkitGetUserMedia以触发权限提示.用户批准该权限后,您的分机(特别是后台页面)可以再次请求访问麦克风/摄像头,并且该请求将自动获得批准.
是否需要在一次性提示之后进行静默批准是有争议的,这也是不能在扩展中使用audioCapture和videoCapture权限的原因.但是audioCapture,videoCapture权限将在以后可用,因此,如果您的扩展程序需要,我建议将这些权限放入您的清单文件中,即使当前版本的Chrome无法识别扩展程序的权限.
| 归档时间: |
|
| 查看次数: |
3096 次 |
| 最近记录: |