播放第一首歌后我的播放器停止播放

时间:2012-07-26 03:19:48

标签: iphone objective-c ios xcode

当我从我的ipod库中选择多首歌曲时,我正在使用AVPlayer,当第一首歌曲播出时,所选择的歌曲会显示在名为playlistTableView的UITableview中,并且不会继续播放第二首歌曲。我希望播放器继续播放歌曲直到playlistTableView中没有歌曲。

1 个答案:

答案 0 :(得分:1)

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

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

然后,您可以使用播放来播放队列,就像使用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