AVPlayerItem.duration和AVPlayerItem.asset.duration都是AVPlayerItem类中的属性,用于获取播放项的总持续时间。
区别:
下面是一个示例代码,演示如何获取AVPlayerItem的持续时间和关联媒体资源的总持续时间:
import AVFoundation
let url = URL(string: "https://example.com/video.mp4")!
let asset = AVURLAsset(url: url)
let playerItem = AVPlayerItem(asset: asset)
// 获取播放项的持续时间
let itemDuration = playerItem.duration
let itemDurationSeconds = CMTimeGetSeconds(itemDuration)
print("播放项的持续时间:\(itemDurationSeconds) 秒")
// 获取关联媒体资源的总持续时间
let assetDuration = playerItem.asset.duration
let assetDurationSeconds = CMTimeGetSeconds(assetDuration)
print("关联媒体资源的总持续时间:\(assetDurationSeconds) 秒")
请注意,获取AVPlayerItem的持续时间和关联媒体资源的总持续时间可能需要一些时间,因此最好在播放器准备好播放后再获取这些值。