0

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

更深入地研究问题,我缩小了问题必须在 seekToTime 方法调用中。

洗涤流程如下:

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

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

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

4

2 回答 2

1

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

在 iOS 9 中,只有当 AVPlayer 对象的播放速率通过 rate 属性或 play 方法更改为非零值时,这些操作才会中断。

这意味着我们必须设置

player.rate = 1

打电话之前seekToTime

于 2016-06-19T01:36:53.710 回答
0

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

于 2016-09-22T12:52:42.987 回答