【问题标题】:My player stops after playing first song我的播放器在播放第一首歌曲后停止
【发布时间】:2012-07-26 03:19:47
【问题描述】:

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

【问题讨论】:

  • 将歌曲传递给播放器的代码是什么?
  • NSURL*assetUrl = [mediaItemCollection.representativeItem valueForProperty:MPMediaItemPropertyAssetURL]; AVURLAsset* 资产 = [AVURLAsset URLAssetWithURL:assetUrl options:nil]; // 创建播放器项目 AVPlayerItem* playerItem = [AVPlayerItem playerItemWithAsset:asset]; [code] // 播放 myPlayer = [AVPlayer playerWithPlayerItem:playerItem]; collectionMutableCopy =[mediaItemCollection.items mutableCopy]; [self.myPlaylistTable reloadData]; [myPlayer 播放];这是我的代码

标签: iphone objective-c ios xcode


【解决方案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

【讨论】:

  • NSURL*assetUrl = [mediaItemCollection.representativeItem valueForProperty:MPMediaItemPropertyAssetURL]; AVURLAsset* 资产 = [AVURLAsset URLAssetWithURL:assetUrl options:nil]; // 创建播放器项目 AVPlayerItem* playerItem = [AVPlayerItem playerItemWithAsset:asset]; [code] // 播放 myPlayer = [AVPlayer playerWithPlayerItem:playerItem]; collectionMutableCopy =[mediaItemCollection.items mutableCopy]; [self.myPlaylistTable reloadData]; [myPlayer 播放];这是我的代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
相关资源
最近更新 更多