Я тестирую следующий простой код на своем 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];