gpt4 book ai didi

iphone - 使用 AVPlayer 仅显示视频的一小部分

转载 作者:行者123 更新时间:2023-11-29 03:39:04 25 4
gpt4 key购买 nike

我有一个要求,即使用 AVPlayer 显示媒体库视频 (AVAsset),并使用 UI 中的自定义 slider 更新视频中的当前帧。然而,我正在寻找的是如何将 slider 与视频联系起来,而不实际修剪视频。
我想显示附加到 slider 的视频的一小部分,即说我有一个持续时间为 10 秒的视频。我希望将 slider 附加到 3-6 秒,这意味着如果 slider 位于开始位置,则应显示视频中第 3.0 秒的帧,如果 slider 位于结束位置,则应显示视频中第 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];
}
}

关于iphone - 使用 AVPlayer 仅显示视频的一小部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18719119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com