【发布时间】:2018-11-17 14:35:25
【问题描述】:
我正在使用 AVPlayer 来显示正在播放的视频,其中使用了 URL。它有两个部分:
1. 首先,我使用AVPlayerLayer 将AVPlayer 嵌入到视图的子层中,即
var player: AVPlayer?
func configure() {
let urlString = "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"
if let url = URL(string: urlString) {
self.player = AVPlayer(url: url)
let playerLayer = AVPlayerLayer(player: self.player)
playerLayer.frame = self.view.bounds
self.view.layer.addSublayer(playerLayer)
player.play()
}
}
上面的代码工作正常,视频正在播放。
2. 其次,在点击UIButton 时,我使用之前创建的AVPlayer 实例呈现AVPlayerViewController,即
@IBAction func onTapVideoButton(_ sender: UIButton) {
self.player?.pause()
let controller = AVPlayerViewController()
controller.player = self.player
self.present(controller, animated: true) {
self.player?.play()
}
}
我在这里面临的问题是,AVPlayerViewController 打开后,视频停止播放但音频仍在播放。
我想要的是在AVPlayerLayer 和AVPlayerViewController 中同步视频。
【问题讨论】:
-
让 player = AVPlayer(url: url) ?您已经有一个名为 player 的类变量。
-
我的错误。是的,我有类变量。我会编辑它。
标签: ios swift avplayer avplayerviewcontroller avplayerlayer