如何在iPhone中放大录制的音频?

时间:2010-11-11 09:36:28

标签: iphone audio-recording

有人可以告诉我如何在iPhone中放大录制的音频然后同时播放吗?

2 个答案:

答案 0 :(得分:1)

你有什么格式的音频?通常,您可以简单地循环遍历样本并将它们相乘:

static const float gain = 2;
for (NSUInteger i=0; i<kNumberOfSamplesInBuffer; i++)
    buffer[i] *= gain;

你可能不得不考虑算术溢出,确保乘法值不超过类型范围:

amplified = MIN(MAX_TYPE_VALUE, MAX(MIN_TYPE_VALUE, sample*gain));

如果您仍然需要选择录制API,我认为您可以使用Audio Queue Services。使用AQS录制的样本代码很多,您可以轻松触摸那里的样本。

答案 1 :(得分:0)

将以下属性设置为AVAudioSession。

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;   

AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,          
                             sizeof (audioRouteOverride),&audioRouteOverride);