从浏览器捕获系统声音

时间:2015-12-12 01:16:37

标签: google-chrome firefox google-chrome-extension firefox-addon

我正在尝试构建一个从webrtc调用中捕获本地和远程音频的Web应用程序,但我无法录制远程音频(使用recordRTC)。 我想知道我是否能以某种方式捕获系统声音。

有没有办法从浏览器捕获系统声音(不仅仅是麦克风)。也许是延期?

1 个答案:

答案 0 :(得分:4)

在Chrome中,chrome.desktopCapture扩展程序API可用于捕获屏幕includes system audio(但only on Windows and Chrome OSwithout plans for OS X or Linux)。 E.g。

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

实现的