gpt4 book ai didi

google-chrome-extension - 如何使用 webrtc insde google chrome 扩展?

转载 作者:行者123 更新时间:2023-12-04 00:41:52 29 4
gpt4 key购买 nike

我开发了一个 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?

问候

这是我称之为“弹出窗口”的屏幕截图(扩展名 = 弹出窗口 + 背景) Pop up window = chrome extension

最佳答案

为了在 Chrome 扩展程序的后台页面中使用 WebRTC 或语音识别 API,您需要在选项卡、(弹出)窗口或 iframe(选项卡内)中从您的扩展程序打开一个页面(如果您使用一个 iframe,不要忘记在 web_accessible_resources 中列出页面)。在该页面调用navigator.webkitGetUserMedia 触发权限提示。用户批准权限后,您的扩展程序(尤其是后台页面)可以再次请求访问麦克风/摄像头,该请求将自动获得批准。

一次性提示后的静默批准是否可取is debated ,这也是 audioCapture and videoCapture permissions cannot be used in extensions yet 的原因.不过,audioCapturevideoCapture 权限在未来可用,因此如果您的扩展程序需要,我建议将这些权限放在您的 list 文件中,即使当前版本的 Chrome 无法识别扩展权限。

关于google-chrome-extension - 如何使用 webrtc insde google chrome 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29177097/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com