gpt4 book ai didi

objective-c - 跳到 AVQueuePlayer 上的上一个 AVPlayerItem/播放队列中的选定项目

转载 作者:太空狗 更新时间:2023-10-30 03:17:42 32 4
gpt4 key购买 nike

我正在播放一个电视节目,该节目已使用 AVQueuePlayer 在我的项目中分成不同的章节。我还想提供在 AVQueuePlayer 已经播放时跳到上一章/下一章或即时选择不同章节的可能性。

AVQueuePlayer 提供的 advanceToNextItem 跳到下一个项目没有问题,但是跳回或播放队列中的某个项目没有什么相似之处。

所以我不太确定这里最好的方法是什么:

  1. 使用 AVPlayer 而不是 AVQueuePlayer,在 actionAtItemEnd 处调用 replaceCurrentItemWithPlayerItem: 来播放下一个 Item,只需使用“replaceCurrentItemWithPlayerItem”让用户选择某个章节

  1. 使用“insertItem:afterItem:”和“removeAllItems”重新组织队列或当前玩家

附加信息:我按照它们应该出现在 NSArray 中的顺序存储不同视频的路径用户应该通过按下代表章节的按钮跳转到某些章节。 Buttons 有标签,标签也是数组中相应视频的索引。

希望我能说清楚?有人对这种情况有任何经验吗?如果有人知道在哪里可以买到提供该功能的优质 IOS VideoPlayerFramework,我也会很感激这个链接。

最佳答案

如果您希望您的程序可以播放上一个项目并从您的播放器项目(NSArray)播放所选项目,您可以这样做。

- (void)playAtIndex:(NSInteger)index
{
[player removeAllItems];
for (int i = index; i <playerItems.count; i ++) {
AVPlayerItem* obj = [playerItems objectAtIndex:i];
if ([player canInsertItem:obj afterItem:nil]) {
[obj seekToTime:kCMTimeZero];
[player insertItem:obj afterItem:nil];
}
}
}

编辑:playerItems 是您存储 AVPlayerItems 的 NSMutableArray(NSArray)。

关于objective-c - 跳到 AVQueuePlayer 上的上一个 AVPlayerItem/播放队列中的选定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12176699/

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