javascript - WebRTC Chrome 麦克风不工作

标签 javascript google-chrome webrtc microphone

描述

规范:Chrome 版本 44、45、46,Win、Mac 和 Linux。

执行的操作:

  1. 第一个来源:通过 getUserMedia 授予的摄像头和麦克风
  2. 第二个来源:麦克风仅通过 getUserMedia 授予
  3. 两个源都存储在 JS 对象中
  4. 使用 WebAudio 检查音量级别(在 5 秒内达到峰值级别)3) WebRTC 通话
  5. 在第一个来源中建立

症状:

  1. 检测到音量级别为 0
  2. 在 WebRTC 通话中,一位用户听不到 Chrome 用户的声音

预期行为:

  1. 检测到音量级别高于 0
  2. 在 WebRTC 通话中,两个用户都能听到对方的声音

严重性:经常,但不总是。似乎与特定用户无关,它每天都发生在任何用户身上。

(!)有时可以通过完全重新启动 Chrome 来临时修复。

(!)有时可以在 Mac 上临时修复(直到重新启动):

  1. 转到 Mac 应用程序 > 实用程序 > 终端
  2. 复制并粘贴此命令,然后按 Enter:sudo killall VDCAssistant
  3. 输入您的电脑密码并按回车键
  4. 重启 Chrome

(!) 即使只请求一个来源也会发生。

帮助

这似乎是很久以前向 Google 提出的一个大问题,但仍未解决。有人面对过吗?有什么办法可以用 JavaScript 或其他方式解决这个问题吗?

编辑 1

它也可以在 https://apprtc.appspot.com/ 重现。和任何其他 webrtc 网站。

编辑2

似乎是 WebRTC 错误:

最佳答案

这是我的 .profile 中的一个脚本,可以解决这个问题:

alias fixcam="sudo kill -9 `pgrep VDCAssistant`; sudo killall coreaudiod"

然后我就从终端运行fixcam。如果将上述命令添加到 .profile,则需要打开一个新的终端窗口或运行 source ~/.profile 以重新加载配置。

看起来该错误已被隔离到 coreaudiod 处于不良状态。我还没有测试过只重启 coreaudiod 但它也可能会起作用。

关于javascript - WebRTC Chrome 麦克风不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33548517/

相关文章:

google-chrome - HERE-API Symantec-Certificates 不再在 Chrome 中工作

html - 从视频库中的视频图像中删除外边框

javascript - 切换溢出 - jQuery

javascript - IE Javascript 不工作但没有错误?

javascript - Vuex 中带有 Vue JS 的模块化存储无法正常工作

CSS 悬停效果在列内的图像上截断(仅限 Chrome)

openssl - 当 BIO 是内存 BIO 而不是套接字 BIO 时,BIO_read/BIO_write 和 SSL_read/SSL_write 之间有什么区别?

ios - WebRTC(iOS): local video is not getting stream on remote side

webrtc - 回退到 TURN 的预期连接百分比可能是多少?

javascript - 如何在同一项目的android native和android phonegap中共享sqlite数据库