使用屏幕Chrome扩展捕获音频

Capturing Audio With Screen Chrome Extension

本文关键字:音频 扩展 Chrome 屏幕      更新时间:2023-09-26

在chrome扩展中,我使用以下行捕获屏幕

chrome.desktopCapture.chooseDesktopMedia

通过这个屏幕(桌面(流运行良好,但是当我尝试使用捕获音频时

constraints = {
   audio: {
     mandatory: {
       chromeMediaSource: 'system',
       chromeMediaSourceId: audioSource,
     }
   },
   video: {
     mandatory: {
       chromeMediaSource: 'desktop',
       chromeMediaSourceId: event.data.sourceId,
       maxWidth: window.screen.width,
       maxHeight: window.screen.height,
       maxFrameRate: 3
     },
     optional: [
       { googLeakyBucket: true },
       { googTemporalLayeredScreencast: true }
     ]
   }
 };

注意:已经在音频块中测试了event.data.sourceId而不是audioSource

音频不工作,我可以从流中看到(在控制台中(音频媒体轨道

相同的功能在这个应用程序中起作用

我通过在传递到chrome.desktopCapture.chooseDesktopMediadataSources数组中添加'audio'来解决此问题。

chrome.desktopCapture.chooseDesktopMedia(['screen', 'audio'], function(id) {...});

您所指的扩展使用特定于平台的代码(ffmpeg(作为二进制文件,位于_platform_specific/x86-64/video_encoder_main-x86-64.nexte中,而不是WebRTC/HTML5 中

〔edit〕以上是Linux上的64位