Webrtc navigator.mediaDevice.getCapabilitites显示EchoCancellation假为Safari 13.0.3

问题描述 投票:0回答:1

我仅在我的项目中使用webrtc进行音频处理,所以除了safari之外,其他浏览器都正常运行。我在野生动物园中遇到的问题是回声(即我听到自己的声音,但对接收器端来说很干净)。

使用OpenTox

var options = {
               insertDefaultUI: false, 
               audioSource:"<id>",  
               height: 120,
               width: 180,
               insertMode: 'append',
               name: "voice session"
               }
OT.initPublisher(placeholder, options, (publisher) => {
  console.log(publisher.getAudioSource().getCapabilities())
})

当我将这些选项传递给发布者时,我得到了回声。

OT.initPublisher(placeholder, null, (publisher) => {
  console.log(publisher.getAudioSource().getCapabilities())
})

当我将null传递给发布者时,野生动物园中也没有回显。

两个控制台的输出相同

{deviceId: "98152D568180063419A471521CA4EFFDD18240F4", echoCancellation: [true, true], sampleRate: {max: 96000, min: 8000}, volume: {max: 1, min: 0}}

[当您查看console.log输出的echoCancellation时,它说[true,true],这意味着不存在噪声消除

带有Safari 13的OT.initPublisher的奇怪行为

请帮助我解决此问题

safari webrtc opentok
1个回答
0
投票

我有类似的问题。纯音频模式将没有回音消除。

我的解决方案:-创建发布者时,请勿发布视频和音频。-当流准备就绪(这是onStreamCreated事件)时,然后发布音频-这样音频回声就消失了

© www.soinside.com 2019 - 2024. All rights reserved.