[英]AVAudioSession option change does not take effect
我的 iOS 應用程序播放來自 URL 的音頻。 大多數時候,我希望此音頻不與設備上播放的其他音頻混合。
但有時,我確實想讓音頻與設備上的其他音頻混合。
當我最初開始我的音頻時,它可以按需要工作; 它不會與設備上的其他音頻混合(即在 Spotify 上播放音樂會阻止我的音頻播放)。 這就是我在這種情況下所說的:
try! AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback)
然后,當我調用以下代碼時,它成功地允許我的音頻根據需要與其他人混合:
try! AVAudioSession.sharedInstance().setCategory(.playback, options: .mixWithOthers)
但是,當我嘗試將其改回不與其他人混合時,它不起作用; 設備中的其他音頻與我的音頻一起播放。 就像我最初所做的那樣,我再次調用它:
try! AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback)
知道為什么我不能將 AVAudioSession 改回不與其他人混合嗎?
我似乎已經通過調用以下音頻解決了這個問題,我不想與其他設備的音頻播放混合/播放:
do {
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default)
try AVAudioSession.sharedInstance().setActive(true)
} catch {
print(error)
}
並將其稱為我想要混合的音頻:
do {
try AVAudioSession.sharedInstance().setCategory(.playback, options: .mixWithOthers)
try AVAudioSession.sharedInstance().setActive(true)
} catch {
print(error)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.