AVPlayer seektoTime iPhone

时间:2012-05-16 08:50:20

标签: iphone ios xcode avfoundation avplayer

我在我的应用程序中使用了seekToTime并且它正常工作。但我希望了解更多相关信息。也就是说,如果我有1分钟的流媒体视频文件,我想从第15个到第45个播放(前15秒,最后15秒不播放)。

我该怎么做?

我知道通过使用seekToTime,我可以播放第15秒的视频,但是如何在第45秒停止播放,并且还会注意到视频在指定时间段播放的方法?

CMTime timer = CMTimeMake(15, 1);
[player seekToTime:timer];

以上代码将我带到流媒体文件的第15个秒,但如何在第45秒停止并获得通知?

我搜索了很多,但无法获得任何信息。

由于

编辑:

正如@codeghost建议的那样,只需使用forwardPlaybackEndTime

您可以简单地使用:

yourAVPlayerItem.forwardPlaybackEndTime = CMTimeMake(10, 1);

这里是AVPlayerItem播放的时间。

3 个答案:

答案 0 :(得分:6)

在AVPlayerItem上设置forwardPlaybackEndTime属性。

答案 1 :(得分:0)

我不知道AVPlayer中是否有内置内容,但我要做的是构建一个函数并调用它:

[self performSelector:@selector(stopPlaying) withObject:nil afterDelay:45];


-(void)stopPlaying{
   [player pause];
}

这将在45秒后停止播放,当然你可以将任意数量的秒数换成45秒。

答案 2 :(得分:0)

您可以将[AVPlayer addPeriodicTimeObserverForInterval:queue:usingBlock:]用于此目的。

定期获取AVPlayer.currentTime,并在确切时间呼叫暂停或停止。