我正在开发一个 Google Chrome 扩展程序,当其他人说话时,它会自动将麦克风静音,以防止彼此说话。
我从查看 Chrome 选项卡 API 开始,我可以通过onUpdate
事件和audible
属性成功检测到选项卡上播放的声音:
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
// Does stuff on changeInfo.audible changed
});
问题是从 Google Meet 的标签接收到的音频不会触发此事件。我假设这是因为音频来自 WebRTC,因此管理方式不同。
所以我尝试了这个代理 WebRTC 流的解决方案:捕获传入 WebRTC 视频流的方法(客户端)
问题是,在这种情况下,看起来 RTCPeerConnection 不是使用我的代理构建的。
有什么方法可以使用 Chrome 扩展程序或一些 JavaScript 检测传入的音频(会议中的另一个人发言)?