【问题标题】:WebRTC audio problems in the connection between mobile and desktop移动端和桌面端连接中的WebRTC音频问题
【发布时间】:2019-02-25 19:29:14
【问题描述】:

我有一个带有 webrtc 的网站,在桌面之间运行良好。 现在我正在尝试在桌面和移动设备之间进行通信,视频还可以,但移动设备中的音频有很多噪音,我对桌面和移动设备使用以下限制:

var constraints={audio:true,video:{"mandatory":{"minWidth":"320","minHeight":"240","maxWidth":"320","maxHeight":"240","maxFrameRate":"15","minFrameRate":"15"}}};

如果我将移动音频约束更改为:

audio:{echoCancellation:false}

解决了噪音问题,但现在桌面设备会听到带有回声的声音。我怎么解决这个问题?我正在做的测试是在 chrome(桌面)和移动端 Chrome for Android 和混合应用程序中。移动设备是中兴通讯,android 6.0.1

【问题讨论】:

标签: javascript mobile webrtc


【解决方案1】:

欢迎来到 webrtc 的世界,可能浏览器已经过时并且不支持 echoCancellation 标志(或者仍然存在错误)。

更新浏览器可能会解决问题(如果可以的话)。否则可以尝试其他移动设备并检查它是否在那里工作,如果不起作用,我只知道if(mobile) ... else ... 解决方案,直到浏览器更新。

在最坏的情况下,您甚至必须检查特定版本才能禁用该标志。

【讨论】:

  • 问题仍然存在,浏览器已更新(Chrome 72),我不明白您的意思是“在最坏的情况下,您甚至必须检查特定版本才能禁用标志”;目前我只想在 echoCancellation:false 约束中将音频输入设置为耳机听筒,但是当我将 echo 更改为 false 时,我无法设置约束并且音频进入扬声器。
  • 所以这似乎是您遇到的另一个问题,原始问题中没有说明。我的建议是仅在非移动设备上启用 echoCancellation 标志,因此请检查用户从哪个平台连接,然后定义不同的约束。关于您的耳机问题,我不确定这是否与 echoCancellation 标志有关,您可能在其他地方做错了。
  • 感谢您的关注,我正在使用 Chome 测试移动到桌面,唯一的问题是在移动中我无法使用 echoCancellation:false 设置约束 deviceId:headset,如果声音进入扬声器,则我设置了 echoCancellation:true,声音进入耳机,但我只听到噪音。我用很多演示(PubNub,OpenTok ...)进行了测试,但都没有工作,使用(Facebook 和环聊,但这些是应用程序)。我认为问题出在此link 中的特定手机(中兴通讯),我将尝试使用三星并在此处报告。
  • 其实问题出在手机(中兴),用(三星)测试正常。问题解决了,我将尝试与(中兴通讯)的解决方法
猜你喜欢
  • 1970-01-01
  • 2021-03-19
  • 1970-01-01
  • 2018-10-07
  • 1970-01-01
  • 2015-08-20
  • 2018-12-26
  • 2021-06-24
  • 1970-01-01
相关资源
最近更新 更多