我正在尝试使用chrome.desktopCapture.chooseDesktopMedia
API 用于从扩展窗口捕获音频。
我从 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
,它会记录麦克风,即使我收到源窗口选择对话框。
我究竟做错了什么?