按顺序播放多个音频文件

时间:2015-02-13 21:04:08

标签: ios iphone audio

我试图实现音频播放器来播放多个文件,就好像它们是单个文件一样。但是,初始缓冲时间应该只是第一部分的持续时间,其他文件应该按顺序加载。

例如:

  • File1中:
    • Part1 - 0:35s
    • Part2 - 0:47s
    • Part3 - 0:07s

File1应该像1:29一样播放,但我们只等待(最多),直到Part1加载才开始播放。

我已经看过AVAsset,但似乎并没有解决问题。我还想过用AVAudioPlayer实现它并自己完成所有逻辑。

以前是否有人遇到此问题?

谢谢!

1 个答案:

答案 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];
相关问题