Chrome 扩展:无法使 chrome.desktopCapture.chooseDesktopMedia 捕获窗口音频

2024-03-16

我正在尝试使用chrome.desktopCapture.chooseDesktopMediaAPI 用于从扩展窗口捕获音频。

我从 popup.js 页面发送捕获请求。

显现:

{
"background": {
    "scripts": [ "background.js" ]
},
"browser_action": {
    "default_icon": "style/icons/icon16.png",
    "default_title": "__MSG_name__"
},
"default_locale": "en",
"description": "__MSG_description__",
"icons": {
    "128": "style/icons/icon128.png"
},
"manifest_version": 2,
"name": "__MSG_extName__",
"permissions": ["activeTab","desktopCapture"],
"offline_enabled": true,
"short_name": "__MSG_short__",
"version": "1.0.9"

}

功能:

chrome.desktopCapture.chooseDesktopMedia(["window"], function (streamId) {
        var audioStream = navigator.mediaDevices.getUserMedia({
            audio: true,
            chromeMediaSource: 'desktop',
            chromeMediaSourceId: streamId
        });
        audioStream.then(function (mediaStream) {...}

我尝试过使用不同的参数,但每当我省略时:audio:true,我得到:

无法在“MediaDevices”上执行“getUserMedia”:至少其中之一 必须请求音频和视频(...)。

以下代码没有出现在 API 中,但我已经在这里阅读并尝试过,之前的错误也适用于它:

audio: {
  mandatory: {
       chromeMediaSource: 'desktop',
       chromeMediaSourceId: streamId
       }
     }

当我使用时audio:true,它会记录麦克风,即使我收到源窗口选择对话框。

我究竟做错了什么?


在对代码进行了一些实验之后,在我看来,捕获系统音频的唯一方法是通过视频参数。我无法使用音频参数捕获非麦克风音频。这屏幕录像机 https://chrome.google.com/webstore/detail/gdamcnkmddbfhaadidkhahllkabienpk应用程序正在做同样的事情 - 系统音频是通过视频录制的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 扩展:无法使 chrome.desktopCapture.chooseDesktopMedia 捕获窗口音频 的相关文章

随机推荐