为 AVAudiosession 添加增益 iOS

Add gain to AVAudiosession iOS

我正在尝试为 AVAudioSession 添加更多增益。

我正在使用 AVAssetWriter 录制带音频的视频,但我想为音频添加更多增益。

我看到AVAudioSession中有一个方法可以设置inputGain,但是它必须在0和1之间。

[[AVAudioSession sharedInstance] setInputGain:2.0 error:nil];

有什么方法可以在质量下降的情况下增加增益?

谢谢

您可以通过在将传入音频 LPCM CMSampleBuffer 传递到 AVAssetWriter 之前修改它们来增加增益。注意:AVCaptureSession 可能不会善待您修改其缓冲区,因此您可能需要在 修改之前复制它们。

或者,您可以使用 AVAudioSessionModeMeasurement 获得更多收益:

NSError *error;
if (![[AVAudioSession sharedInstance] setMode:AVAudioSessionModeMeasurement error:&error]) {
    // Error
}

Appropriate for applications that wish to minimize the effect of system-supplied signal processing for input and/or output audio signals.

我终于使用 Audiounit 框架得到了这个