Не слышал голос AVAudioRecorder без наушников - PullRequest
1 голос
/ 08 июня 2011

Я записываю голос на iPhone с помощью AVAudioRecorder, и это настройки моего рекордера:

 NSMutableDictionary* recordSetting = [[NSMutableDictionary alloc] init];
    [recordSetting setValue :[NSNumber numberWithInt:kAudioFormatAppleIMA4] forKey:AVFormatIDKey];
    [recordSetting setValue:[NSNumber numberWithFloat:16000.0] forKey:AVSampleRateKey]; 
    [recordSetting setValue:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey];

Проблема в том, что я не слышу записанный голос без наушников.Я тоже хочу слышать голос без наушников.Как мне изменить свой код?

Ответы [ 4 ]

1 голос
/ 03 октября 2012

Еще одна вещь, которую следует учитывать, это то, что если вы не настроите AVAudioSession для воспроизведения, то выключатель звонка тишины на боковой панели телефона не будет воспроизводить звук через динамик.Чтобы вы могли воспроизводить звук с телефона с глушителем, убедитесь, что вы используете что-то подобное, прежде чем запускать AVAudioPlayer для воспроизведения файла:

AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
[session setActive:YES error:nil];
1 голос
/ 08 июня 2011

Вы должны установить категорию AVAudiosession на AVAudioSessionCategoryPlayback перед воспроизведением звука

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

Может, принудительная маршрутизация аудиовыхода на динамик поможет?

- (void) forceRouteAudioToSpeaker
{
    UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
    AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute,
        sizeof(audioRouteOverride), &audioRouteOverride);
}

Не забудьте включить <AudioToolbox/AudioServices.h>. Если подумать, переключение категории звука на обычное воспроизведение также должно сработать, и вы говорите, что это не…

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