У меня есть приложение, в котором пользователь может записывать звук, а также воспроизводить звук в динамике или наушнике. Для маршрутизации аудио я установил kAudioSessionProperty_OverrideAudioRoute следующим образом:
if(loudSpeakerOn) {
audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
}
else {
audioRouteOverride = kAudioSessionOverrideAudioRoute_None;
}
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(audioRouteOverride), &audioRouteOverride);
Я также должен убедиться, что при включении / выключении звука / вибрации пользователь должен выключить звук / включить звук. Для этого я установил следующее свойство
SInt32 ambient = kAudioSessionCategory_AmbientSound;
if (AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof(ambient), &ambient)) {
NSLog(@"*** Error *** could not set Session property to ambient.");
}
Теперь проблема в том, что когда я установил свойство Ambient, аудио-маршрут и аудиозапись перестали работать.
Как мне заставить все это работать вместе?
Спасибо!