我需要使用AVPlayer显示媒体库视频(AVAsset),并使用UI中的自定义滑块更新视频中的当前帧。然而,我正在寻找的是如何将滑块与视频,而不是实际修剪视频。
我想显示附加在滑块上的一小部分视频,也就是说,我有一个持续时间为10秒的视频。我希望滑块连接到3-6秒,这意味着如果滑块是在开始它应该显示在视频中的帧3.0秒,如果滑块是在结束它应该显示在视频中的第6秒的帧。
简单地说,对于用户来说,它应该看起来像视频只有3秒的总时长。
附注:上面的问题有很多,但我已经尽了最大努力简化我的查询。
发布于 2014-02-18 21:23:50
1)查找起始位置:
int32_t preferredTimeScale = 600;
CMTime inTime = CMTimeMakeWithSeconds(self.startTime, preferredTimeScale);
[mainPlayer seekToTime:inTime];2)设置定时器:
_EndOFRegionCheckTimer = [NSTimer scheduledTimerWithTimeInterval:0.10f
target:self
selector:@selector(_checkEndPassedFired)
userInfo:nil
repeats:YES];3)在定时触发事件中,检查当前位置,必要时停止播放:
- (void)_checkEndPassedFired {
AVPlayerItem *currentItem = mainPlayer.currentItem;
if ((double)currentItem.currentTime.value/currentItem.currentTime.timescale>self.stopTime)
{
[mainPlayer pause];
}
}https://stackoverflow.com/questions/18719119
复制相似问题