首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在内置麦克风的Iphone上禁用AEC、AGC和HPF

如何在内置麦克风的Iphone上禁用AEC、AGC和HPF
EN

Stack Overflow用户
提问于 2021-07-01 11:13:57
回答 1查看 599关注 0票数 1

目前正在开发一个基于安卓和iOS的移动声音分析项目。该项目正在联合开发。安卓版本没有任何问题,但在iOS上,它只在较旧的设备(iPhone5,iPhone6)上工作。从iPhone 8开始,苹果公司在麦克风输入端增加了声回声消除(AEC)、自动增益控制(AGC)和高通滤波器(HPF)。我们的应用程序分析麦克风输入和计算分贝(分贝)的输入和它的价值,我们使用的迷你游戏。苹果3项功能的问题在于,它在一些db阈值之后切断了输入,只是没有出现更高的分贝或音高。

我想在iPhone构建上禁用这些特性,或者以某种方式通过它们,但到目前为止,我还没有找到任何可行的解决方案。我的想法是:

  1. 构建从团结到Xcode的项目。
  2. 将一些快速代码放入Xcode中构建的项目中,这将禁用这些麦克风特性(如果可能的话?)在申请开始的时候。

我发现了这个问题-- 链接 --答案似乎很好,但我无法实现,因为我没有使用任何原生Xcode音频引擎(比如AVAudioRecorder、AVFAudio等),而是使用了统一的音频解决方案。

所以我的问题是:是否可以在不使用任何Xcode/Swift音频引擎的情况下,在团结项目中禁用上面提到的iPhone麦克风特性?

我想指出,应用程序与所有新的iPhone设备,如果我们使用外部麦克风。

EN

回答 1

Stack Overflow用户

发布于 2021-07-01 12:16:40

所以我的问题是:是否可以在不使用任何Xcode/Swift音频引擎的情况下,在团结项目中禁用上面提到的iPhone麦克风特性?

是的,有可能。你应该写iOS本机插件

在C#类中,创建extern方法:

代码语言:javascript
复制
[DllImport ("__Internal")] 
    
private static extern void AudioUnitSetProperty();

然后在您的.mm类中:

代码语言:javascript
复制
extern "C" void AudioUnitSetProperty()
{
  /* your code here */
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68209140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档