在移动设备上使用Adobe Air进行声学回声消除

时间:2013-02-22 20:12:30

标签: android ios air flash-builder microphone

有人在Adobe Air构建的移动应用程序中实现回声消除吗?

有:

  • Microphone.getEnhancedMicrophone()但它在移动设备上返回null。

  • Microphone.setUseEchoSuppression(true)也不起作用。

  • 也许与ANE?我在Apple Docs

  • 中看到了回音抑制设置

任何人

4 个答案:

答案 0 :(得分:1)

目前尚无已知的解决方案。 回声抑制已经承诺了4年。   上面的代码不能用作Microphone.setUseEchoSuppression(true) 使用Adobe AIR在Android上工作。 检测通过Netstream传输的音频的能力也不起作用,因此使用音量和增益手动编码解决方案也不起作用。   我考虑重写我的整个视频聊天应用程序,因为回声抑制问题。 Adobe显然未能与Google合作寻找解决方案。

答案 1 :(得分:1)

不,Microphone.setUseEchoSuppression什么都不做。它只是Adobe计划在某些时候实现的占位符函数。

截至2015年12月17日,Adobe尚未在Apple和Android平台上针对移动设备上的AIR进行AEC解决。

然而,我的一个联系人与Adobe的Chris Campbell谈了几次关于AIR Mobile的AEC,Chris说他们已经批准了合法的WRT许可,并且正在推动AEC加入AIR 20(2015年12月)。

我还没有看到任何其他迹象表明Adobe将会这样做。我知道这对于基于视频聊天的应用程序开发人员来说是一个巨大的促成因素,包括对移动设备的支持。我们在网络上有AEC,桌面AIR。只需要移动设备来创建全渠道视频解决方案。

答案 2 :(得分:1)

现在,它已在最新的AIR SDK(v22和v23)中实现。

https://helpx.adobe.com/flash-player/release-note/fp_23_air_23_release_notes.html

所以你现在可以使用Microphone.getEnhancedMicrophone()

您还需要为Android添加此权限:

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

答案 3 :(得分:0)

您的设备不支持enhancedMicrophone,因此请使用getMicrophone:

    mic = Microphone.getMicrophone();
    mic.rate = 44;
    mic.setUseEchoSuppression(true);