我試圖讓我的應用程序在後臺播放聲音。我有這個代碼在viewDidLoad()中運行:聲音在模擬器中播放但不在設備上
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
print("AVAudioSession Category Playback set")
do {
try AVAudioSession.sharedInstance().setActive(true)
print("AVAudioSession has been set Active")
} catch let error as NSError {
print(error.localizedDescription)
}
} catch let error as NSError {
print(error.localizedDescription)
}
它運行良好並設置爲活動狀態。在模擬器中運行時,我可以返回主屏幕並繼續播放聲音,但是當我在設備上運行聲音時,聲音無法在應用程序之外播放。
聲音通過AVAudioPlayer每x秒鐘播放一次。
注意:我已啓用設備功能中的背景模式並檢查了「音頻,Airplay和畫中畫」框。
嘿,當你加載你的聲音,你檢查了名稱的區分大小寫?在模擬器上,區分大小寫不是問題,但在設備上是這樣。因此,如果您的聲音被命名爲「Poof.mp3」,並且您嘗試加載「poof.mp3」,則它將在模擬器上工作,但不在設備上。 – Randy
我敢肯定,我的聲音在應用程序之外,而不是在應用程序之外。 – Arch
@arch,我有這個問題。你有沒有設法找到解決方案? – irkinosor