Разработка электронного приложения в Windows 10 Pro версии 1809. Наше приложение имеет окно браузера, которое отображается, когда пользователь нажимает комбинацию горячих клавиш.Окно браузера вызывает 'renderer.js'
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Audio Visualizer</title>
</head>
<body>
<!-- Content -->
<script>
require('./renderer.js')
</script>
</body>
</html>
Файл renderer.js
обрабатывает взаимодействия с пользователем в этом окне браузера и пытается захватить аудио пользователя, используя desktopCapturer
, используя экран (весь экран) какисточник.
Я следовал документации по электронным документам, но мы получаем ошибку desktopCapturer.getSources().then is not a function
Это renderer.js
файл
desktopCapturer.getSources({ types: ['window', 'screen'] }).then(async sources => {
for (const source of sources) {
if (source.name === 'Electron') {
try {
const stream = await navigator.mediaDevices.getUserMedia({
audio: {
mandatory: {
chromeMediaSource: 'desktop',
chromeMediaSourceId: source.id
}
},
video: false
})
handleStream(stream)
} catch (e) {
handleError(e)
}
return
}
}
})
function handleStream (stream) {
// create audio context and show audio visulaizaio
}
function handleError (e) {
console.log(e)
}
Наш код в основномпрямое копирование / вставка из примера, включенного в электронные документы.Чего нам не хватает, что мы получаем эту ошибку?
Я знаю, что в macOS есть ограничение на создание потока в другом файле what (а не navigator.mediaDevices.getUserMedia), но я не думаю, что ограничение связано с этой ошибкоймы сталкиваемся.