请问怎么在浏览器内实现对电脑播放内容进行录音?

我找到了如下的项目,可以录制我的麦克风声音,但是我想录的其实是电脑里播放的声音。
https://codepen.io/lquicksell...

举个例子,电脑里播放了一个音乐,我想写个程序去录这个音乐,并且不要录到麦克风的声音。

大家知道怎么做吗?

阅读 6.8k
4 个回答

Chrome 里可以利用私有 API:

// 改一下你贴的代码里开头那个 `constraints` 参数就行,以音频为例,视频的类似

var constraints = { 
    audio: {
        mandatory: {
            chromeMediaSource: 'desktop'
        }
    }
};

别的浏览器就不行了。


补充:因为这个权限很敏感,所以这个权限 Chrome 也没有直接开放给网页侧使用,而是要在 Chrome 插件中去调用。如果是自用的话你自己新建一个插件项目吧。

WebRTC Recorder + Chrome 插件可以做到,单纯的 webRTC 目前只能录制 microphone 里的声音,让用户装个 chrome 插件应该还算可以接受。

https://www.webrtc-experiment...

Speaker: 录制喇叭里的声音
Microphone:录制话筒里的声音

这个需要显式的获取权限后才能用,一般是需要插件或者扩展支持。主要是浏览器安全因素和策略的影响。

有个解决方案是,把浏览器中播放的内容最大化,然后用录屏软件录屏。

mac和windows都有自带的录屏软件,效果都不错,不用再另外去下载。自带的录屏软件默认不会录入麦克风的声音。

录屏后就可以得到一个视频,清晰度和屏幕上播放的一致,很方便。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题