我正在使用以下代码从 Internet 的 URL 播放声音:
var audioPlayer = AVPlayer()
...
let audioSession = AVAudioSession.sharedInstance()
audioSession.setCategory(AVAudioSessionCategoryAmbient, error: nil)
let url = trackFileName
let playerItem = AVPlayerItem( URL:NSURL( string:url ) )
audioPlayer = AVPlayer(playerItem:playerItem)
audioPlayer.rate = 1.0;
player.play()
我试图确保它在后台继续播放,这就是我使用“AVAudioSession.sharedInstance()”的原因。当我通过锁定屏幕在模拟器中试用它时,它一直按预期播放。但是如果我在设备上播放它,一旦屏幕自动显示或我自己将其锁定,声音就会关闭。
我的代码中缺少什么?
最佳答案
swift 2+ 解决方案:
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)
} catch _ {
return print("error")
}
关于ios - Swift:设备锁定时继续播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30832352/