【发布时间】:2019-09-27 02:07:44
【问题描述】:
我正在实现AVPlayer 在我的应用程序中播放视频,并且我完全播放视频现在我想要视频总时间和当前播放时间连续所以我尝试了一些方法让我告诉你
我尝试过使用NotificationCenter,但为此我每次都得到 0.0,一段时间后我会崩溃,让我给你看我的代码
这是我的视频播放代码
func videoPlay(){
player = AVPlayer(url: videoURL!)
let playerController = AVPlayerViewController()
playerController.player = player
self.addChild(playerController)
self.view.addSubview(playerController.view)
playerController.view.frame = CGRect(x: 0, y: 20, width: 375, height: 207)
player.play()
if player.rate != 0 && player.error == nil {
print("video player is playing.................")
NotificationCenter.default.addObserver(self,selector: #selector(gettime(_:)),name: nil,object: nil)
} else {
print("video player is NOT playing.")
}
}
我正在尝试从下面的视频中获取时间
@objc func gettime(_ notification: Notification){
let currentTime = Float(player.currentTime().value)
print(currentTime)
}
但我仍然没有得到当前的播放时间,我正在崩溃并给出以下错误
错误
Thread 8: EXC_BAD_ACCESS (code=1, address=0xfffffffff7ac4eef)
【问题讨论】:
-
我复制粘贴了您的确切代码,它工作正常。您能否提供您尝试播放的流的 URL?
-
@SeanIngeAsbjørnsen 是的,这是我的网址
https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4 -
我的代码仍然给我错误,请您提供 vieoURL
-
它也适用于该 URL。这是我的完整代码供参考:pastebin.com/Phz9aG35
标签: ios swift uitableview avplayer