首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用AVPlayer循环电影的特定片段-总是返回到开头

使用AVPlayer循环电影的特定片段-总是返回到开头
EN

Stack Overflow用户
提问于 2012-07-31 23:05:27
回答 2查看 774关注 0票数 0

我有一个大约12秒长的视频。秒5-10是可循环的。

我想从第一次开始播放视频,然后继续循环5-10秒,然后无限循环。

然而,当我尝试时,视频只是再次跳回到开头。我是不是做错了什么?视频为H.264 mp4格式。

下面是我使用的代码片段:(每个帧都会调用update函数)

代码语言:javascript
运行
复制
-(void) update:(double)timeDelta
{
    if ( !m_player ) {
        return;
    }

    CMTime time = m_player.m_player.currentTime;
    if ( CMTimeGetSeconds(time) > 10.0f ) {
        [m_player seekToTime:CMTimeMakeWithSeconds(5.0f, time.timescale)];     
    }
}

任何帮助都将不胜感激。

谢谢你,瑞奇

EN

回答 2

Stack Overflow用户

发布于 2012-08-07 01:53:50

大多数玩家只会寻找I图片(内部图片)。可能您的剪辑在开始时只有一张I图片,5秒后又有一张。看看这个。如果您可以重新编码,则使用每隔1秒插入的I图片重新编码,以允许您执行此操作。

票数 0
EN

Stack Overflow用户

发布于 2012-08-07 01:57:03

如果特定视频上的关键帧间隔大于5秒,则它可能正在寻找关键帧。

尝试调整视频的编码方式,以便能够在5秒标记处获得关键帧,或者使用

代码语言:javascript
运行
复制
[m_player seekToTime:CMTimeMakeWithSeconds(5.0f, time.timescale) toleranceBefore: kCMTimeZero toleranceAfter: kCMTimeZero];

请注意,如果这样做,解码器将不得不解码这5秒的视频,然后才能在您想要的点处恢复播放,因此您可能会在循环中出现短暂的延迟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11743134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档