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