我想在AVPlayer中向后播放视频。我已经尝试将rate属性更改为-1.0,虽然它确实有效,但它并不顺利。有什么方法可以顺利播放视频吗?
答案 0 :(得分:6)
正如评论中所述,问题在于关键帧以及大多数编解码器不能反向播放的事实。有两种重新编码视频的选项,不需要您在编辑时实际反转视频。
请注意,与每个x帧的典型"关键帧相比,这两个选项中的任何一个都会产生更大的文件大小。编码视频。
答案 1 :(得分:1)
您必须到达当前项目的末尾,然后将费率设置为负值。像这样:
-(void)reversePlay
{
CMTime durTime = myPlayer.currentItem.asset.duration;
if (CMTIME_IS_VALID(durTime))
{
[myPlayer seekToTime:durTime toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];
[myPlayer setRate:-1.0];
}
else
NSLog(@"Invalid time");
}