2016-04-17 10 views
3

AVPlayerビデオのcurrentTime()NSTimerで取得しようとしています。次のコードを使用して、私は常にビデオの現在時刻として0.0を返しています。私は間違って何をしていますか?AVPlayerのビデオcurrentTimeは常に0を返します

var player: AVPlayer! 

    @IBOutlet weak var playerContainer: UIView! 

    var t1: Float! 
    var t2: Float! 
    var currentSecs: Float! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     player = AVPlayer(URL: NSURL(string: "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")!) 

     let playerLayer: AVPlayerLayer = AVPlayerLayer(player: self.player) 
     playerLayer.frame = self.playerContainer.frame 
     self.view.layer.addSublayer(playerLayer) 

     player?.play() 

     t1 = Float(self.player.currentTime().value) 
     t2 = Float(self.player.currentTime().timescale) 
     currentSecs = t1/t2 

     var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(TheaterViewController.timeUpdate), userInfo: nil, repeats: true) 

    } 

    func timeUpdate() { 

     print(currentSecs) // Only prints 0.0 

    } 

答えて

1

これがわかりました。 t1t2は、それぞれviewDidLoadに1回しか設定されていませんでした。私はそれらを両方ともupdateTimeに移動し、それは働いた。 -.-

関連する問題