我需要在我的 AVQueuePlayer
中创建类似无限循环的东西。特别是,我想在最后一个组件播放完毕后重播 AVPlayerItem
的整个 NSArray
。
我必须承认,我实际上不知道如何实现这一目标,希望您能给我一些线索。
最佳答案
在 AVQueuePlayer 中循环视频序列的最佳方式。
观察 AVQueuePlayer 中的每个播放器项目。
queuePlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone;
for(AVPlayerItem *item in items) {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(nextVideo:)
name:AVPlayerItemDidPlayToEndTimeNotification
object:item ];
}
在每个 nextVideo 上再次插入 currentItem 以将其排队等待播放。确保为每个项目寻求零。在 advanceToNextItem 之后,AVQueuePlayer 将从队列中移除 currentItem。
-(void) nextVideo:(NSNotification*)notif {
AVPlayerItem *currItem = notif.userInfo[@"object"];
[currItem seekToTime:kCMTimeZero];
[queuePlayer advanceToNextItem];
[queuePlayer insertItem:currItem afterItem:nil];
}
关于iphone - 在最后一个之后重播 AVQueuePlayer 中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11155983/