【问题标题】:AVPlayer seekToTime methods stopped working on iOS 9AVPlayer seekToTime 方法在 iOS 9 上停止工作
【发布时间】:2015-10-14 18:21:50
【问题描述】:

我一直在开发一个使用 HLS 流式传输视频资产的视频播放器。当我开始在 iOS 9 上调试它时,我注意到擦洗功能停止正常工作。但是,它仍然适用于 iOS 8 设备。

深入研究问题后,我发现问题一定出在 seekToTime 方法调用中。

洗涤流程如下:

  • scrub 开始时,使用 AVPlayer 暂停实例方法暂停视频
  • 当擦洗结束时使用 AVPlayer seekToTime: 实例方法寻找时间
  • 之后使用 AVPlayer 播放实例方法播放视频

我尝试了一些其他选项来更改当前播放头,例如 seekToTime:completionHandler:,但结果仍然相同。

在 iOS 9 发行说明 (https://developer.apple.com/library/prerelease/ios/releasenotes/General/RN-iOSSDK-9.0/) 上,我看到他们对 AVFoundation 进行了一些更改,所以我想知道 iOS 9 版本是否存在与此相关的任何已知问题?

【问题讨论】:

  • 欢迎使用 StackOverflow?您能否向我们提供您有问题的代码?

标签: ios video avfoundation avplayer seektotime


【解决方案1】:

我刚刚遇到了这个问题,感谢您的链接,我找到了解决方案。 这是来自发行说明:

在 iOS 9 中,这些操作仅在 AVPlayer 对象的 通过 rate 属性将播放速率更改为非零值 或播放方法。

这意味着我们必须设置

player.rate = 1

在致电seekToTime之前

【讨论】:

    【解决方案2】:

    在 seekToTime 之前不要使用player.pause player.rate 与该问题无关

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-25
      相关资源
      最近更新 更多