Песни, которые не воспроизводятся setQueueWithItemCollection api - PullRequest
1 голос
/ 13 января 2012

Я тестирую следующий простой код на своем iphone 4 с iOS 5.0 на нем. Я реализовал следующий пример кода для воспроизведения выбранной пользователем песни. Пользователь нажимает кнопку a на странице, на которой отображается его список воспроизведения / песни .... но как только песня выбрана и сборщик отменен, песня не воспроизводится. Что дает?

Из моего * .h файла

@interface MusicPlayerDemoViewController : UIViewController <MPMediaPickerControllerDelegate> {
    MPMusicPlayerController *musicPlayer;
}

@property (nonatomic, retain) MPMusicPlayerController *musicPlayer;



- (IBAction)selectMusic:(id)sender;

из моего * .m файла

- (IBAction)selectMusic:(id)sender 
{
    MPMediaPickerController *mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];
    mediaPicker.delegate = self;
    mediaPicker.allowsPickingMultipleItems = NO; // this is the default   
    [self presentModalViewController:mediaPicker animated:YES];
    [mediaPicker release];
}                                   

// Media picker delegate methods
- (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection {

// We need to dismiss the picker
  [self dismissModalViewControllerAnimated:YES];


  [musicPlayer setQueueWithItemCollection:mediaItemCollection];
  [musicPlayer play];
}

- (void)mediaPickerDidCancel:(MPMediaPickerController *)mediaPicker {
    [self dismissModalViewControllerAnimated:YES];
}

РЕШЕНИЕ:

Добавьте следующий код в ViewDidLoad. Я не создавал экземпляр игрока. Все работы

[self setMusicPlayer: [MPMusicPlayerController applicationMusicPlayer]];

    // By default, an application music player takes on the shuffle and repeat modes
    //      of the built-in iPod app. Here they are both turned off.
    [musicPlayer setShuffleMode: MPMusicShuffleModeOff];
    [musicPlayer setRepeatMode: MPMusicRepeatModeNone];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...