0

我正在使用 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];

请帮忙。

4

1 回答 1

0

如果您正在播放 iPod 库中的歌曲,那么您可以使用MPMusicPlayerController,这个类包含一堆属性来改变状态,如shuffleModeor repeatMode

如果您使用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 计数])。

于 2013-08-27T04:58:27.987 回答