如何按顺序播放歌曲并在iphone sdk中随机播放

时间:2013-08-27 04:21:28

标签: iphone ios avaudioplayer

我正在使用AVAudioPlayer播放歌曲。我有一个MPMediaItem数组。我希望按钮点击顺序和随机播放。

我的代码是:

 AVAudioPlayer *player2;
 MPMediaItem *item = [arrAnand objectAtIndex:i];
 NSURL *url = [item valueForProperty:MPMediaItemPropertyAssetURL];
[player2 release];
player2 = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[player2 play];

请帮忙。

1 个答案:

答案 0 :(得分:0)

如果您正在播放iPod库中的歌曲,那么您可以使用MPMusicPlayerController,此类包含一堆属性来更改shuffleModerepeatMode等状态。

如果您使用AVAudioPlayer添加接收方通知AVPlayerItemDidPlayToEndTimeNotification并在观察者内部查询您的数组arrAnand以获取随机mediaItem

希望这会对你有所帮助。

修改:

内部itemDidFinishPlaying

-(void)itemDidFinishPlaying 
{
    MPMediaItem *item = [arrAnand objectAtIndex:i]; 
    NSURL *url = [item valueForProperty:MPMediaItemPropertyAssetURL];

    if(player2)
    {
          [player2 release];
          player2 = nil;
    }
    player2 = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil]; 
    [player2 play];
}

注意:其中i是任意随机数(应小于[arrAnand count])。