Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 用于播放和录制的音频单元,无需过滤器_Ios_Core Audio_Audiounit - Fatal编程技术网

Ios 用于播放和录制的音频单元,无需过滤器

Ios 用于播放和录制的音频单元,无需过滤器,ios,core-audio,audiounit,Ios,Core Audio,Audiounit,我正在开发一个应用程序,设置一个录音和播放的音频单元,使用回调进行音频处理。我使用回调,因为我必须用c实现自己的过滤器。我正在使用一个带有kAudioUnitType_输出和kAudioUnitSubType_RemoteIO的音频单元。默认情况下,此音频单元使用高通滤波器。我只想应用我自己的过滤器,所以我想知道是否有一种方法可以禁用此过滤器,而无需将音频会话模式设置为AVAudioSessionModeMeasurement,因为我使用它会丢失增益。 我找不到一个方法来禁用这个过滤器或音频单元

我正在开发一个应用程序,设置一个录音和播放的音频单元,使用回调进行音频处理。我使用回调,因为我必须用c实现自己的过滤器。我正在使用一个带有kAudioUnitType_输出和kAudioUnitSubType_RemoteIO的音频单元。默认情况下,此音频单元使用高通滤波器。我只想应用我自己的过滤器,所以我想知道是否有一种方法可以禁用此过滤器,而无需将音频会话模式设置为AVAudioSessionModeMeasurement,因为我使用它会丢失增益。
我找不到一个方法来禁用这个过滤器或音频单元,可以用于这个目标

如果不使用测量模式,我认为没有任何方法可以做到这一点。我通过在渲染回调中手动增加增益(4x)来补偿增益损失

我尝试了类似的解决方案,但我发现这个解决方案有很多问题。你有什么问题?如果我手动增加增益,我在使用应用程序实时录制和播放时会遇到声音反馈。我认为反馈是增益和麦克风与扬声器的距离造成的,不是获得增益的方法。你是对的,这是一个物理问题,但我不知道带有kAudioUnitType_输出和kAudioUnitSubType_RemoteIO的音频单元如何能够提供相同的增益,但没有麦克风和扬声器之间具有相同接近度的反馈。