我希望建立一个语音聊天应用程序(具有屏幕共享功能),但当使用电子桌面捕获插件时,音频中的'chromeMediaSource‘参数不起任何作用(在Windows10上测试)。
由于某种原因,它捕获了完整的桌面音频,这意味着用户在观看屏幕分享时可以听到自己的声音。
有没有办法使用这个插件只捕获一个应用程序的声音?
下面是我使用的代码,它捕获桌面音频/视频。
desktopCapturer.getSources({ types: ['screen', 'window', 'audio'] }).then(async sources => {
for (const source of sources) {
//console.log(source);
if (source.id === screenID) {
try {
const stream = await navigator.mediaDevices.getUserMedia({
audio: {
mandatory: {
chromeMediaSource: 'desktop',
chromeMediaSourceId: screenID,
}
},
video: {
mandatory: {
chromeMediaSource: 'desktop',
chromeMediaSourceId: screenID,
minWidth: 1280,
maxWidth: 1280,
minHeight: 720,
maxHeight: 720,
maxFrameRate: 60
}
}
})
handleStream(stream)
} catch (e) {
handleError(e);
}
return;
}
}
});发布于 2021-03-26 21:15:54
desktopCapturer.getSources({ types: ['screen', 'window', 'audio'] })
audio: {
mandatory: {
chromeMediaSource: 'desktop',
},
},过了一段时间后,我发现这段代码可以工作。要小心静音你的HTML视频元素(你可能会得到一个号叫)。
https://stackoverflow.com/questions/61488073
复制相似问题