我正在开发一款具有视频流功能的应用。 我使用AVPlayer在设备上或使用AirPlay流式传输视频。 使用AirPlay时,您可以锁定屏幕并继续播放视频。 在设备的主屏幕上,您将获得控件:擦洗条,播放/暂停,后退/前进。
一切都好。现在我想显示一些正在播放的视频的信息。 我读了很多关于MPNowPlayingInfoCenter的内容,看起来很简单。 但是,当我设置nowPlayingInfo时,主屏幕上没有任何设置。
我无知我做错了什么。 我在AVPlayer中有一个不允许我这样做的设置吗? 我设置playInfo的时机错了吗? (我在播放之前尝试设置它,加载流之后,启动流之后等等。)
以下代码被执行,但它没有在锁定屏幕上设置nowPlayingInfo:
MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = [MPMediaItemPropertyTitle: "My Video Title"]
答案 0 :(得分:0)
您可以使用 AVPlayerViewController 来显示在应用中播放的视频。 AVPlayer 。然后,您可以将AVPlayerViewController的 updatesNowPlayingInfoCenter 设置为 false 。
let playerController = AVPlayerViewController()
var player: AVPlayer = AVPlayer(url: URL(string: "url_string")!)
playerController.player = player
playerController.updatesNowPlayingInfoCenter = false
present(playerController, animated: true) {
player.play()
}
此外,您需要将MPNowPlayingInfoCenter.default()。 nowPlayingInfo 设置为要显示的信息。