2014-05-22 115 views
0

TTS我有玩一些聲音使用蘋果TTS引擎命令iOS7應用中,我使用這個設置我的音頻會話:的iOS與電話呼叫中斷

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback 
          withOptions:AVAudioSessionCategoryOptionDuckOthers 
           error:&error]; 
[[AVAudioSession sharedInstance] setActive:YES error:&err]; 

然後打我的命令。

我現在遇到的問題是,如果我的手機接到電話,我的應用程序將在電話通話過程中繼續播放其語音命令,期望的是,一旦我接聽電話,我的應用程序就會暫停,然後繼續通話結束後。

有什麼我可以做的,以確保電話會暫停我的應用程序?

回答

0

當有電話打進來時,應該在您的應用程序委託中調用- (void)applicationWillResignActive:(UIApplication *)application方法。這是你應該暫停音頻的地方。

+0

感謝您的幫助,但是如果我的應用程序已經在我接到電話的背景中時該怎麼辦?在這種情況下不會調用'(void)applicationWillResignActive:(UIApplication *)application'方法! (我試過它沒有被調用) – user3456603

+0

當你的應用程序在後臺時,你需要播放聲音嗎?如果你不這樣做,你可以在調用'-applicationDidEnterBackground:'方法時暫停音頻。 – 68cherries

+0

謝謝,我有這種情況,我的應用程序在前臺,電話來了,我的應用程序正在接收'UIApplicationWillResignActiveNotification',並且應用程序成爲'UIApplicationStateInactive'狀態,我放棄了呼叫(即點擊了紅色按鈕)我的應用程序保持在'UIApplicationStateInactive'狀態,我期待它會變得活躍。 – user3456603