在Swift 4中,您可以使用AVPlayerItem的duration属性来获取AVPlayer项目的总持续时间。下面是一个完整的示例代码:
import AVFoundation
func getDurationOfAVPlayerItem() {
let url = URL(fileURLWithPath: "path_to_your_video_file")
let asset = AVURLAsset(url: url)
let playerItem = AVPlayerItem(asset: asset)
let duration = playerItem.duration
let totalSeconds = CMTimeGetSeconds(duration)
let hours = Int(totalSeconds / 3600)
let minutes = Int(totalSeconds.truncatingRemainder(dividingBy: 3600) / 60)
let seconds = Int(totalSeconds.truncatingRemainder(dividingBy: 60))
print("Total duration: \(hours)h \(minutes)m \(seconds)s")
}
在上面的代码中,您需要将"path_to_your_video_file"替换为您实际的视频文件路径。然后,我们创建了一个AVURLAsset对象,该对象表示视频文件的URL资源。接下来,我们使用AVPlayerItem的duration属性获取视频的总持续时间。最后,我们将总持续时间转换为小时、分钟和秒,并打印出来。
这是一个简单的示例,您可以根据自己的需求进行修改和扩展。如果您想了解更多关于AVPlayer和AVPlayerItem的信息,可以参考腾讯云的云点播产品,该产品提供了强大的视频处理和播放功能。您可以在以下链接中找到更多信息:
领取专属 10元无门槛券
手把手带您无忧上云