簡體   English   中英

AVAudioSession 選項更改不生效

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM