Как усилить записанный звук в iPhone? - PullRequest
0 голосов
/ 11 ноября 2010

Может кто-нибудь сказать мне, как я могу усилить записанный звук в iPhone, а затем воспроизводить его одновременно?

Ответы [ 2 ]

1 голос
/ 11 ноября 2010

В каком формате у вас аудио? Обычно вы можете просто зациклить сэмплы и умножить их:

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 имеется множество примеров кода, и вы легко можете прикоснуться к ним.

0 голосов
/ 06 июня 2011

установить следующее свойство для AVAudioSession.

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;   

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