簡體   English   中英

播放完成后,iOS背景音頻將停止

[英]iOS background audio gets stopped when playback is finished

關於在后台播放音頻, SOW上已經有幾個問題,但是我的稍有不同(據我所知!)

因此,我在應用程序中有一個播放列表,用戶可以在其中選擇循環播放音頻,或針對應用程序中可用的所有音頻隨機/連續播放。

使用以下代碼以及必需的Info.plist設置:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; [[AVAudioSession sharedInstance] setActive:YES error:nil];

Info.plist設置:

<key>UIBackgroundModes</key> <array> <string>audio</string> </array>

音頻即使在屏幕鎖定時也可以在后台正常工作,但是在音頻播放完成時會出現問題。 使用NSLogs,我可以看到代碼再次到達了AudioPlayer的“播放”方法,但是音頻不會播放下一首歌曲,也不會播放循環中要播放的歌曲。

有人有指針嗎?

閱讀文檔 ,相關段落:

我的音頻存儲在應用程序本地。 當UIBackgroundModes鍵包含音頻值時,系統的媒體框架會自動防止相應的應用程序在移至后台時被掛起。 只要它正在播放音頻或視頻內容或記錄音頻內容,該應用就會繼續在后台運行。

但是,如果錄制或播放停止,系統將掛起該應用程序。

因此,從本質上講,為了破解安裝程序,我使用了兩個AVAudioPlayers,而不是等待audioPlayerDidFinishPlaying:的委托回調,我這樣做了:

如果(((audioPlayer1.duration-audioPlayer1.currentTime)<1){

 //play Audio 2

}

不太確定是否有比這更好的建議?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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