89 votes

Comment obtenir le temps de jeu actuel et le temps de jeu total dans AVPlayer ?

Est-il possible d'obtenir le temps de jeu et le temps de jeu total dans AVPlayer ? Si oui, comment puis-je faire cela ?

179voto

Bartosz Ciechanowski Points 5758

Vous pouvez accéder à l'élément en cours de lecture en utilisant la propriété currentItem

 AVPlayerItem *currentItem = yourAVPlayer.currentItem;

Ensuite, vous pouvez facilement obtenir les valeurs de temps demandées

 CMTime duration = currentItem.duration; //total time
CMTime currentTime = currentItem.currentTime; //playing time

24voto

comonitos Points 1238
_audioPlayer = [self playerWithAudio:_audio];
_observer =
[_audioPlayer addPeriodicTimeObserverForInterval:CMTimeMake(1, 2)
                                           queue:dispatch_get_main_queue()
                                      usingBlock:^(CMTime time)
                                      {
                                          _progress = CMTimeGetSeconds(time);
                                      }];

16voto

Kemal Can Kaynak Points 150

Avec Swift 4.2, utilisez ceci ;

 let currentPlayer = AVPlayer()
if let currentItem = currentPlayer.currentItem {
    let duration = currentItem.asset.duration
}
let currentTime = currentPlayer.currentTime()

16voto

xuzepei Points 101

Rapide 4

     self.playerItem = AVPlayerItem(url: videoUrl!)
    self.player = AVPlayer(playerItem: self.playerItem)

    self.player?.addPeriodicTimeObserver(forInterval: CMTimeMakeWithSeconds(1, 1), queue: DispatchQueue.main, using: { (time) in
        if self.player!.currentItem?.status == .readyToPlay {
            let currentTime = CMTimeGetSeconds(self.player!.currentTime())

            let secs = Int(currentTime)
            self.timeLabel.text = NSString(format: "%02d:%02d", secs/60, secs%60) as String//"\(secs/60):\(secs%60)"

    })
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X