Я пробовал образец приложения Apple SpeakHere и хотел слушать через динамик громкой связи вместо динамика наушников.
Я смог включить динамик громкой связи, используя этот код:
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
Но после этого приложение больше не будет записывать.Это замерзает.Этот код не приносит никакой пользы:
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
Мальчик, похоже, что если вы можете включить динамик верхним кодом, вы должны иметь возможность отключить его другим кодом.В чем секрет?