首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVPlayerItem.duration和AVPlayerItem.asset.duration有什么区别?

AVPlayerItem.duration和AVPlayerItem.asset.duration有什么区别?
EN

Stack Overflow用户
提问于 2020-01-23 20:17:11
回答 1查看 178关注 0票数 0

我正在查看AVPlayer.timeControlStatus属性,播放器只有一个AVPlayerItem

视频是托管在远程服务器上的mpeg4编码的10s视频文件:

代码语言:javascript
复制
let asset = AVURLAsset(url: url, options: [AVURLAssetPreferPreciseDurationAndTimingKey: true])
let item = AVPlayerItem(asset: asset)

let player = AVQueuePlayer()
player.actionAtItemEnd = .pause
player.automaticallyWaitsToMinimizeStalling = false
player.insert(item, after: nil)

当该属性第一次更改为.playing时,我查看了调试控制台中的持续时间值:

代码语言:javascript
复制
(lldb) po player.currentItem?.asset.duration
▿ Optional<CMTime>
  ▿ some : CMTime
    - value : 1281
    - timescale : 600
    ▿ flags : CMTimeFlags
      - rawValue : 1
    - epoch : 0

(lldb) po player.currentItem?.duration
▿ Optional<CMTime>
  ▿ some : CMTime
    - value : 0
    - timescale : 0
    ▿ flags : CMTimeFlags
      - rawValue : 17
    - epoch : 0

为什么这些值是不同的?

EN

回答 1

Stack Overflow用户

发布于 2020-01-25 04:03:43

player.currentItem?.duration为0时,表示不确定,换句话说,您正在播放实况流。

我不确定,但player.currentItem?.asset.duration是用户可以使用滑块移动的总时间,它可以随着播放器缓冲的时间而变化

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59878384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档