【问题标题】:webRTC: How to get external microphones to work?webRTC:如何让外部麦克风工作?
【发布时间】:2015-09-11 11:23:35
【问题描述】:

在一个正常工作的 webRTC 应用程序(仅限语音)中,我遇到了一个奇怪的错误:当提示您通过 getUserMedia() 选择音频输入时,似乎除了内置麦克风之外的任何其他麦克风都可以工作。

虽然选择不会立即导致错误,但在建立 webRTC 连接时没有信号传输 - 线路保持静默。如果我选择内置麦克风,一切都会按预期工作。

我用 Chrome 和 Firefox 对此进行了测试,但无济于事。

还有关于这种行为的更多信息吗?

编辑 9 月 13 日

有关测试设置的更多信息:Chrome 45,具有实验性功能。 Chrome 将通过navigator.mediaDevices.enumerateDevices列出外部音频源,但当从 gUM 输入选择中选择除外部麦克风之外的其他任何东西时,将导致根本没有声音。

问题:有没有人设法让外部麦克风与 webRTC 一起工作?

【问题讨论】:

  • 在使用 deviceEnumeration API 时是否会显示麦克风? stackoverflow.com/questions/14610945/…
  • 它列出了输入选择中的麦克风,一旦调用 getUserMedia 就会弹出,但我还没有尝试过 deviceEnumeration。将对此进行调查。
  • Firefox 尚不支持使用 getUserMedia 选择设备,因此,暂时排除。
  • @xdumaine,为什么 firefox 首先要费心显示选择?错误?
  • xdumaine - Firefox 应该支持设备选择就好了。 @BenjaminTrent - 该设备枚举链接已过时两年。相反,请参阅stackoverflow.com/a/31758598/918910

标签: google-chrome firefox webrtc microphone getusermedia


【解决方案1】:

最后,我找到了解决方案。

收不到声音的原因很简单:webRTC 期望麦克风连接到输入通道 1 或 2,以防您使用连接到计算机的 音频接口 的麦克风。 p>

我还没有找到一种方法来告诉我的 webRTC 应用选择不同的输入通道,所以麦克风必须是通道 1 或 2。

顺便说一句:Skype 也是如此。任何与音频接口连接的麦克风都需要插入通道 1 - 否则将无法识别,因为 Skype 似乎也默认使用通道 1。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多