我试图实现音频播放器来播放多个文件,就好像它们是单个文件一样。但是,初始缓冲时间应该只是第一部分的持续时间,其他文件应该按顺序加载。
例如:
File1应该像1:29一样播放,但我们只等待(最多),直到Part1加载才开始播放。
我已经看过AVAsset,但似乎并没有解决问题。我还想过用AVAudioPlayer实现它并自己完成所有逻辑。
以前是否有人遇到此问题?
谢谢!
答案 0 :(得分:3)
您可以使用AVQueuePlayer来实现此目的。您需要使用文件网址创建AVPlayerItem
,然后需要使用AVQueuePlayer
方法初始化queuePlayerWithItems:
。
AVPlayerItem *firstItem = [[AVPlayerItem alloc] initWithURL:firstPartURL];
AVPlayerItem *secondItem = [[AVPlayerItem alloc] initWithURL:secondPartURL];
AVPlayerItem *thirdItem = [[AVPlayerItem alloc] initWithURL:thirdPartURL];
NSArray *itemsToPlay = [NSArray arrayWithObjects:firstItem, secondItem, thirdItem, nil];
AVQueuePlayer *qPlayer = [AVQueuePlayer queuePlayerWithItems:itemsToPlay];
[qPlayer play];