我正在尝试构建一个从 webrtc 调用中捕获本地和远程音频的网络应用程序,但我无法录制远程音频(使用 recordRTC)。
我想知道我是否可以以某种方式捕获系统声音。
有没有办法从浏览器中捕获系统声音(不仅仅是麦克风)。也许是一个扩展?
最佳答案
在 Chrome 中, chrome.desktopCapture
可以使用扩展 API 来捕获屏幕,其中 includes system audio (但 only on Windows and Chrome OS 和 without plans for OS X or Linux )。例如。
chrome.desktopCapture.chooseDesktopMedia([
'screen', 'window' // ('tab' is not supported; use chrome.tabCapture instead)
], function(streamId) {
navigator.webkitGetUserMedia({
audio: {
mandatory: {
chromeMediaSource: 'system',
chromeMediaSourceId: streamId
}
},
video: false, // We only want audio for now.
}, function(stream) {
// Do what you want with this MediaStream.
}, function(error) {
// Handle error
});
});
我不确定 Firefox 是否可以捕获系统声音,但至少它能够捕获一些输出(选项卡/窗口/浏览器/操作系统?)。
首先您需要访问
about:config
并设置 media.getusermedia.audiocapture.enabled
至 true
(这可以通过 Firefox 插件自动完成)。然后可以按如下方式捕获流:navigator.mozGetUserMedia({
audio: {
mediaSource: 'audioCapture'
},
video: false, // Just being explicit, we only want audio for now
}, function(stream) {
// Do what you want with this MediaStream.
}, function(error) {
// Handle error
});
这是在 Firefox 42 中实现的,地址为 https://bugzilla.mozilla.org/show_bug.cgi?id=1156472
关于google-chrome - 从浏览器捕获系统声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34235077/