我正在尝试构建一个广播流应用程序。我已经为可能的 RadioPlayer 创建了一个 Singleton 类,如下所述,并且我已经打开了“背景模式”>“音频”、“AirPlay”和“画中画”。
但是,当我的应用程序进入后台模式时,音频停止播放。我在这里缺少什么?
感谢任何帮助!谢谢!
import Foundation
import AVFoundation
class RadioPlayer {
static let sharedInstance = RadioPlayer()
var player = AVPlayer(playerItem: RadioPlayer.radioPlayerItem())
var isPlaying = false
class func radioPlayerItem() -> AVPlayerItem {
return AVPlayerItem(URL: urlRadio())
}
class func urlRadio() -> NSURL {
let roRadio = Repository.realm.objects(RORadio)
let url: NSURL = NSURL(string: roRadio[0].streaming)!
return url
}
func toggle() {
if isPlaying == true {
pause()
} else {
play()
}
}
func play() {
player.play()
isPlaying = true
}
func pause() {
player.pause()
isPlaying = false
}
func currentlyPlaying() -> Bool {
return isPlaying
}
}
最佳答案
应允许应用程序在后台继续运行。打开 Info.plist 文件并添加 UIBackgroundModes 的键。对于您的目标来说,只有一个字符串“音频”。
关于ios - 如何在iOS上正确播放后台音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37036742/