0

当我从我的 ipod 库中选择多首歌曲时,我正在使用 AVPlayer,一旦第一首歌曲播放完毕,这些选定的歌曲就会显示在名为 playlistTableView 的 UITableview 中,它不会继续播放第二首歌曲。我希望播放器继续播放歌曲直到那里playlistTableView 中没有歌曲。

4

1 回答 1

1

在 iOS 4.1 及更高版本上,您可以使用 AVQueuePlayer 对象按顺序播放多个项目。AVQueuePlayer 是 AVPlayer 的子类。您使用一组播放器项目初始化队列播放器:

NSArray *items = <#An array of player items#>;
AVQueuePlayer *queuePlayer = [[AVQueuePlayer alloc] initWithItems:items];

然后,您可以使用 play 播放队列,就像使用 AVPlayer 对象一样。队列播放器依次播放每个项目。如果您想跳到下一个项目,您可以向队列播放器发送一个 advanceToNextItem 消息。您可以使用 insertItem:afterItem:、removeItem: 和 removeAllItems 修改队列。添加新项目时,通常应使用 canInsertItem:afterItem: 检查是否可以将其插入队列。您将 nil 作为第二个参数传递以测试是否可以将新项目附加到队列中:

AVPlayerItem *anItem = <#Get a player item#>;
if ([queuePlayer canInsertItem:anItem afterItem:nil])
{
    [queuePlayer insertItem:anItem afterItem:nil];
}

有关详细信息,请参阅以下文档。

http://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/00_Introduction.html#//apple_ref/doc/uid/TP40010188

于 2012-07-26T04:35:30.177 回答