【问题标题】:Sensitive movie scrubbing with AVPlayer使用 AVPlayer 进行敏感电影擦洗
【发布时间】:2011-10-17 17:48:50
【问题描述】:
我正在构建一个需要高度敏感的擦洗功能的电影播放器。我的目标是让用户在选择最高灵敏度时逐帧擦洗。
目前我正在使用的方法:
[player seekToTime:CMTimeMakeWithSeconds(duration*(Float64) slider.value, 600)];
但我离我希望达到的敏感度还很远。有人可以建议或指出更好的方法甚至框架来完成此功能。
提前致谢。
【问题讨论】:
标签:
iphone
objective-c
ios
avfoundation
avplayer
【解决方案1】:
解决这个问题。不知何故,它从我的视线中滑落,但有一种方法可以做到这一点:
[player seekToTime:CMTimeMakeWithSeconds(duration*(Float64)value , 600)
toleranceBefore:kCMTimeZero
toleranceAfter:kCMTimeZero];
toleranceBefore 和 toleranceAfter 设置为零,这意味着它将准确到达您正在搜索的点,但解码帧需要更多时间。
【解决方案2】:
这里只想提一下 HLS 的限制。即使您指定容差 0,也无法在任何 ts 段的中间进行查找。一旦您从擦洗器抬起手指以寻找位置,播放器将从最近的 TS 片段开始播放视频。