2

是否可以快退/倒带 AVPlayer 流?我快进正常工作,但没有快退。

有什么帮助吗?

4

1 回答 1

3

初始化 AVAsset 时,您指定一个选项字典,其中一个选项(实际上是我知道的唯一选项)是 AVURLAssetPreferPreciseDurationAndTimingKey。这默认为 NO。您想以这种方式进行初始化:

AVURLAsset* asset = [[AVURLAsset alloc] initWithURL:url
                  options:@{AVURLAssetPreferPreciseDurationAndTimingKey: @YES}];
AVPlayerItem* playerItem = [AVPlayerItem playerItemWithAsset:asset];
self.player = [[AVPlayer alloc] initWithPlayerItem:playerItem];

您可以查询播放器项目是否可以反向播放、快速反向播放等。根据流的类型,它可能无法播放。本地磁盘上的 quicktime 文件当然没有问题。还要记住 AVFoundation 是异步的。这意味着您可以只调用 setter,但需要对动态设置进行 KV 观察,或者对静态设置使用 AVAsynchronousKeyValueLoading 协议。

最后一个问题。如果您使用默认的 init'ed AVCaptureSession,它会以超高质量记录,前进速度快,但后退速度要慢得多,而且更不稳定。即使在 iPhone 5 上。使用较低的质量设置以获得流畅的向后播放。

于 2013-06-21T23:40:37.060 回答