2016-11-28 36 views
4

我做了一個應用程序,開始播放音頻時,應用程序是後臺。 我開始通過AVAudioSession當應用程序背景時,是否可以開始播放音頻並將其他人靜音?

do { 
    try audioSession.setCategory(AVAudioSessionCategoryPlayback, with: .duckOthers) 
} catch { 

} 

它的正常工作,但有可能可忽略來自其他應用程序的任何其他音頻時,我的應用程序啓動播放音頻?

沒有duckOther選項應用程序崩潰,因爲上面的代碼在後臺執行。而使用duckOther,它不會將其他音頻靜音,只是減少音量。

回答

0

號您可以鴨等音頻,並可以中斷(暫停,非靜音)語音音頻(interruptSpokenAudioAndMixWithOthers),但使所有其它的音頻是不允許的。這很明顯是出於設計意圖,因爲靜音所有音頻通常都是非常糟糕的用戶體驗,所以即使您找到解決此問題的技巧,您在AppStore審覈期間也應該會遇到麻煩。 Apple甚至在interruptSpokenAudioAndMixWithOthers文檔中提出了他們的意圖:

當其他音頻不是中斷音頻時,避免其他音頻而不是中斷它。

相關問題