首页 文章

iOS AVPlayer:如何将30fps视频减速到1fps

提问于
浏览
1

我有一个30fps的Quicktime .mov静态图像,我用AVAssetWriter创建 . (它只有10帧左右) . 我希望用户能够使用UISlider将其减慢到大约1fps,但是当我将AVPlayer .rate属性从1调低到0时,它不会接近1fps,它只是停止播放(因为0速率有效地停止/暂停它,这是有道理的) . 但是如何将播放器降低到大约1fps呢?我想我需要做一些数学来计算实际的比率,但这就是我被困的地方 . 它最终会像0.000000000000001吗?

谢谢!

1 回答

  • 0

    如果这是我的要求,我会按如下方式处理(Inafziger也在评论中提出) . 使用AVAssetReader并为图像滚动我自己的查看器 . 这样可以使用评论中所述的计时器为您提供精确控制 . 确保重复使用一些预先分配的图像内存区域(您可以为单个图像腾出空间) . 我可能会像CoreAudio一样采取拉动方式 . 当你需要一个图像从一些调用AVAssetReaders读取函数的图像缓冲管理器类中拉出它 . 这样,您就可以拥有始终可用的N个缓冲区 . 这可能有点矫枉过正 . 我相信AVAssetReader会在初始化时预先解码一些电影 . 这就是为什么我说你很可能只是使用一个缓冲区来读取图像数据 .

    从你评论内存问题 . 我相信AVAssetReader和使用创建规则的关联类中有一些函数 .

相关问题