我一直在使用此代码,而我唯一无法做到的就是添加背景音频(当用户关闭应用程序时)以及播放功能。我已启用该功能,并可以确认我的Plist设置正确。
@IBOutlet weak var videoView: UIView!
var player: AVPlayer!
var avpController = AVPlayerViewController()
。
let url = URL(string:"http://ad.mysisli.com/live/13thstudiomedia/index.m3u8?playsinline=1")
player = AVPlayer(url: url!)
avpController.player = player
avpController.view.frame.size.height = videoView.frame.size.height
avpController.view.frame.size.width = videoView.frame.size.width
self.videoView.addSubview(avpController.view)
如果遵循Apple的文档HERE,您可能会认为您不必修改代码...也说明了为什么我在寻找解决方案时遇到了麻烦。
编辑/更新: 添加以下内容会产生以下错误:
func applicationDidEnterBackground(_ application: UIApplication) {
// Disconnect the AVPlayer from the presentation when entering background
// If presenting video with AVPlayerViewController
avpController.player = nil
// If presenting video with AVPlayerLayer
avpController.player = nil
}
func applicationWillEnterForeground(_ application: UIApplication) {
// Reconnect the AVPlayer to the presentation when returning to foreground
// If presenting video with AVPlayerViewController
avpController.player = player
// If presenting video with AVPlayerLayer
avpController.player = player
}
[12877:3303112] [MediaRemote] [MRPlaybackQueueServiceClient] 播放队列请求A90E8F11-CBD7-47AB-A620-6BFF638CA449 SpringBoard-8677 / M / R [0:2] / ID(2):( “ 3C24A9B6-093C-4320-AFC8-B518DB725A55”, “ 38B11CAC-E913-4FC6-A41B-15EE8B47D4C0”)响应资产请求,错误错误域= kMRMediaRemoteFrameworkErrorDomain 代码= 15“操作要求客户端数据源已 已注册。” UserInfo = {NSLocalizedDescription =操作需要 客户数据源已注册。}