Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用AVPlayer仅显示部分视频_Iphone_Ios_Ios5_Video_Avplayer - Fatal编程技术网

Iphone 使用AVPlayer仅显示部分视频

Iphone 使用AVPlayer仅显示部分视频,iphone,ios,ios5,video,avplayer,Iphone,Ios,Ios5,Video,Avplayer,我需要使用AVPlayer显示媒体库视频(AVAsset),并使用UI中的自定义滑块更新视频中的当前帧。 然而,我要寻找的是如何在不修剪视频的情况下将滑块与视频绑定 我想显示一小部分连接到滑块的视频,也就是说,我有一个持续时间为10秒的视频。我希望滑块连接到3-6秒,这意味着如果滑块在开始时,它应该在视频中以3.0秒的速度显示帧,如果滑块在结束时,它应该在视频中以6秒的速度显示帧 简单地说,对用户来说,它应该显示为视频的总持续时间只有3秒 另外,上面的问题有很多,但我已经尽力简化我的查询。1)寻

我需要使用AVPlayer显示媒体库视频(AVAsset),并使用UI中的自定义滑块更新视频中的当前帧。 然而,我要寻找的是如何在不修剪视频的情况下将滑块与视频绑定
我想显示一小部分连接到滑块的视频,也就是说,我有一个持续时间为10秒的视频。我希望滑块连接到3-6秒,这意味着如果滑块在开始时,它应该在视频中以3.0秒的速度显示帧,如果滑块在结束时,它应该在视频中以6秒的速度显示帧

简单地说,对用户来说,它应该显示为视频的总持续时间只有3秒

另外,上面的问题有很多,但我已经尽力简化我的查询。

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];
    }
}