iphone MPMoviePlayerViewer控制器:提取总持续时间

iphone MPMoviePlayerViewer控制器:提取总持续时间,iphone,mpmovieplayercontroller,Iphone,Mpmovieplayercontroller,在MPMoviePlayerViewController中播放视频之前,如何获取视频的总时间?如果您不想从MPMoviePlayerViewController的属性获取总时间(因为这会打开电影播放器UI),您可以使用通过文件URL传入的视频文件创建一个AVAsset对象,然后检查该对象的属性 这个技巧只适用于iOS 5(AVAsset就是在iOS 5上推出的)。要获得电影的总时长,您可以使用: 1) 。使用AVPlayerItem类和AVFoundation和CoreMedia框架。(我使用了

在MPMoviePlayerViewController中播放视频之前,如何获取视频的总时间?

如果您不想从MPMoviePlayerViewController的属性获取总时间(因为这会打开电影播放器UI),您可以使用通过文件URL传入的视频文件创建一个
AVAsset
对象,然后检查该对象的属性


这个技巧只适用于iOS 5(AVAsset就是在iOS 5上推出的)。

要获得电影的总时长,您可以使用:

1) 。使用
AVPlayerItem
类和
AVFoundation
CoreMedia框架
。(我使用了
UIImagePickerController
拾取电影)


#导入

以获取mpmovieplayervicewcontroller中的总持续时间

MPMoviePlayerViewController *mp;
float seconds =mp.moviePlayer.duration;

注意:以上代码给出了相关媒体的总持续时间(秒)

您可以在swift中使用此方法获得

func getMediaDuration(url: NSURL!) -> Float64{
        var asset : AVURLAsset = AVURLAsset.assetWithURL(url) as AVURLAsset
        var duration : CMTime = asset.duration

        return CMTimeGetSeconds(duration)
    }

在MPMoviePlayerController中,在我们实际播放视频之前,持续时间为零。如果您通过任何方式得到,plz add CODE它表示当前缓冲的持续时间,而不是总持续时间。第一个选项成功运行,非常感谢。你成功了……)
func getMediaDuration(url: NSURL!) -> Float64{
        var asset : AVURLAsset = AVURLAsset.assetWithURL(url) as AVURLAsset
        var duration : CMTime = asset.duration

        return CMTimeGetSeconds(duration)
    }