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

7
有人在使用Adobe Air构建的移动应用程序中实现了回声消除吗?
有以下几种方法:
- Microphone.getEnhancedMicrophone() 但在移动设备上返回null。 - Microphone.setUseEchoSuppression(true) 也不起作用。 - 或许需要使用ANE?我在Apple文档中看到了回声抑制设置。
有人知道吗?

如果 getEnhancedMicrophone() 返回 null,那么它就不被支持。也许你可以使用 ANE 来实现,但此时你可能无法获得 Flash 的 Microphone 对象(它将是设备的本地麦克风访问实现),并且你可能无法像使用 Flash 的 Microphone 类一样做所有的事情,例如将其附加到 NetStream 上。 - Sunil D.
4个回答

1

不,Microphone.setUseEchoSuppression没有任何作用。它只是Adobe打算在某个时候实现的一个占位符函数。

截至2015年12月17日,Adobe尚未解决AIR移动设备上的AEC问题,包括苹果和安卓平台。

然而,我认识的一个人曾与Adobe的Chris Campbell就AIR Mobile的AEC进行了几次交流,Chris表示他们已经解决了许可证方面的问题,并计划在AIR 20中加入AEC(2015年12月)。

我没有看到其他迹象表明Adobe是否会这样做。我知道这将极大地促进基于视频聊天应用程序的开发者,以支持移动设备。我们在Web上和桌面AIR上都有AEC。只需要移动设备即可创建全渠道视频解决方案。


1

1

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


0

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接