目前正在开发一个基于安卓和iOS的移动声音分析项目。该项目正在联合开发。安卓版本没有任何问题,但在iOS上,它只在较旧的设备(iPhone5,iPhone6)上工作。从iPhone 8开始,苹果公司在麦克风输入端增加了声回声消除(AEC)、自动增益控制(AGC)和高通滤波器(HPF)。我们的应用程序分析麦克风输入和计算分贝(分贝)的输入和它的价值,我们使用的迷你游戏。苹果3项功能的问题在于,它在一些db阈值之后切断了输入,只是没有出现更高的分贝或音高。
我想在iPhone构建上禁用这些特性,或者以某种方式通过它们,但到目前为止,我还没有找到任何可行的解决方案。我的想法是:
我发现了这个问题-- 链接 --答案似乎很好,但我无法实现,因为我没有使用任何原生Xcode音频引擎(比如AVAudioRecorder、AVFAudio等),而是使用了统一的音频解决方案。
所以我的问题是:是否可以在不使用任何Xcode/Swift音频引擎的情况下,在团结项目中禁用上面提到的iPhone麦克风特性?
我想指出,应用程序与所有新的iPhone设备,如果我们使用外部麦克风。
发布于 2021-07-01 12:16:40
所以我的问题是:是否可以在不使用任何Xcode/Swift音频引擎的情况下,在团结项目中禁用上面提到的iPhone麦克风特性?
是的,有可能。你应该写iOS本机插件。
在C#类中,创建extern方法:
[DllImport ("__Internal")]
private static extern void AudioUnitSetProperty();然后在您的.mm类中:
extern "C" void AudioUnitSetProperty()
{
/* your code here */
}https://stackoverflow.com/questions/68209140
复制相似问题