在MPMoviePlayer中获取视频的总播放持续时间

时间:2014-05-02 11:39:27

标签: ios objective-c video mpmovieplayercontroller

我需要获取有关使用MPMoviePlayer播放视频的总时间的信息。如何处理用户观看3分钟视频最多2分钟并向后移动到1.30并关闭视频的情况。要求是知道分数用户准确查看的视频。

1 个答案:

答案 0 :(得分:1)

来自MPMoviePlayerController上的Apple文档:

  

电影播放器​​通知

     

电影播放器​​会生成通知,让您的应用通知电影播放的状态。除了在播放完成时收到通知,您还可以在以下情况下通知您的应用:

     
      
  • 当电影播放器​​开始播放,暂停或开始向前或向后搜索时
  •   

使用这些通知,您可以设置自己的计时器,以了解视频播放的总时间。具体来说,您可能需要MPMoviePlayerPlaybackStateDidChangeNotification

知道观看视频的总百分比可能有点棘手,但我认为仍然可能。您需要注册MPMediaPlayback协议,并将其与上述PlaybackStateDidChangeNotification一起使用。

我有一个想法(虽然可能不是最好或最有效的方法)是为视频的每一秒创建一个BOOL值数组,1。播放视频时,抓住播放器上的currentPlaybackTime并在播放时标记每秒。如果视频状态发生变化(暂停,向前跳过等),请停止将其标记为关闭,然后根据新的currentPlaybackTime启动该新索引并继续标记。完成后,计算已标记的索引的百分比。

MPMoviePlayerController
MPMediaPlayback Protocol

请告诉我这是否适合你!!