javascript - 使用屏幕 Chrome 扩展捕获音频

标签 javascript google-chrome-extension screen html5-audio

在 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 来代替音频 block 中的 audioSource

音频无法正常工作,我可以(在控制台中)看到流中的音频媒体轨道

相同的功能正在 this app 中运行

最佳答案

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

chrome.desktopCapture.chooseDesktopMedia(['屏幕', '音频'], function(id) {...});

关于javascript - 使用屏幕 Chrome 扩展捕获音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31220922/

相关文章:

javascript - Bower安装EACCESS报错

javascript - 多个 json 对象 extjs

javascript - 未捕获的类型错误 : Failed to construct 'URL' : Invalid URL in chrome extension v3 when using messages

javascript - 防止 window.open 聚焦

javascript - Chrome 扩展 |使用类似 Chrome API 的消息发送 "this"和 "this"id 值

.net - 寻找 Webzinc .NET、屏幕抓取、.NET 的 Web 自动化库的免费替代品

ios - 如何获取当前屏幕ios中特定区域的UIImage

javascript - 在 ExtJS 表单中,如何禁止仅对 textarea 字段进行输入提交?

javascript - Angular Kendo UI 多选 watch 不起作用

c# - 如何使用 C# 锁定屏幕?