使用AVQueuePlayer强制/尊重PlayItems之间的所需差距

时间:2011-07-22 21:42:10

标签: iphone cocoa avqueueplayer

大家好我正在使用AVQueuePlayer播放一系列媒体文件(音频,视频)。我有时PlayItems比我需要的持续时间短,即我希望某些项目之间保持沉默。我一直在考虑尝试使用addPeriodicTimeObserverForInterval addBoundaryTimeObserverForTimes的某种组合或运行我自己的NSTimer

它不需要超精确+或 - 1秒是可以接受的。 我想知道是否有任何集体智慧可以使用这些API调用来实现这种功能吗?

1 个答案:

答案 0 :(得分:1)

为什么不观察物品的结束,然后,如果有必要,只在一定延迟后再次开始播放?

你开始观察AVPlayerItem这样的结尾:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playEnded) name:AVPlayerItemDidPlayToEndTimeNotification object:playerItem];

然后,在playEnded方法中,您可以决定需要等待多长时间,并在延迟后调用另一种方法开始播放下一个项目。

-(void)playEnded {
    [self performSelector:@selector(playNextItem) withObject:nil afterDelay:5.0];
}