有人可以告诉我如何在iPhone中放大录制的音频然后同时播放吗?
答案 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);