Я пытаюсь использовать API chrome.desktopCapture.chooseDesktopMedia
, чтобы захватить звук из окна расширения.Расширение Chrome: невозможно сделать chrome.desktopCapture.chooseDesktopMedia окно захвата окна
Я отправляю запрос на захват со страницы popup.js.
Manifest:
{
"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
, я получаю:
Не удалось выполнить 'getU serMedia 'on' MediaDevices ': требуется хотя бы один из аудио и видео (...).
Следующий код не отображается в API, но я читал об этом здесь и попробовал, предыдущая ошибка относится к нему, а также:
audio: {
mandatory: {
chromeMediaSource: 'desktop',
chromeMediaSourceId: streamId
}
}
Когда я использовать audio:true
, он записывает микрофон, хотя я получаю диалог выбора исходного окна.
Что я делаю неправильно?
Это не похоже на то, что звук окна записи поддерживается только для вкладок и экранов. Вам также необходимо передать «звук» в массив типов захвата. –
@ DanielHerr Спасибо, будет ли параметр «screen» записывать выход системы после добавления параметра «audio»? Кроме того, являются ли обязательные параметры правильными? – Nim
Проверьте источник этого примера: https://chrome.google.com/webstore/detail/gdamcnkmddbfhaadidkhahllkabienpk –