1
我有一個應用程序,用戶可以在其中錄製聲音並在揚聲器或耳機中播放聲音。將音頻傳送我以下列方式設置kAudioSessionProperty_OverrideAudioRoute:iPhone SDK:設置音頻路線並在靜音開關打開時也將音頻靜音
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屬性,音頻路由和音頻錄製停止工作。
我怎樣才能讓所有這些一起工作?
謝謝!