Выбрать аудио с помощью MPMediaPickerController

Привет, я использую MPMediaPickerController для выбора аудиофайла из библиотеки телефона. но это дает мне пустой экран. Я не могу понять, почему это происходит. Я запускаю приложение на симуляторе. Это мой код

- (IBAction)selectFile:(UIButton *)sender{

MPMediaPickerController *mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic];
mediaPicker.delegate = self;
mediaPicker.allowsPickingMultipleItems = YES;
mediaPicker.prompt = @"Select Your Favourite Song!";
[mediaPicker loadView];
[self.navigationController presentViewController:mediaPicker animated:YES completion:nil]; }

person Community    schedule 07.04.2014    source источник


Ответы (2)


MPMediaPickerController не работает в симуляторе. Apple отмечает это в «Руководстве по программированию доступа к библиотеке iPod» в разделе «Hello Music Player». В записке говорится:

Примечание. Чтобы выполнить эти шаги, вам понадобится подготовленное устройство, потому что Симулятор не имеет доступа к библиотеке iPod устройства.

Чтобы предотвратить утверждение, вы всегда можете проверить, есть ли у вас доступ к do this в своем коде (в приведенном ниже коде используется ARC и iOS SDK 5.0).

MPMediaPickerController *picker = [[MPMediaPickerController alloc]     initWithMediaTypes:MPMediaTypeAnyAudio];

[picker setDelegate:self];
[picker setAllowsPickingMultipleItems:YES];
[picker setPrompt:NSLocalizedString(@"Add songs to play","Prompt in media item picker")];

@try {
[picker loadView]; // Will throw an exception in iOS simulator
[self presentViewController:picker animated:YES completion:nil];
}
@catch (NSException *exception) {
    [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Oops!",@"Error title")
                            message:NSLocalizedString(@"The music library is not available.",@"Error message when MPMediaPickerController fails to load") 
                           delegate:nil 
                  cancelButtonTitle:@"OK" 
                  otherButtonTitles:nil] show];
}
person Harsh    schedule 07.04.2014
comment
подскажите, как мне выбрать Audio из iTune? - person ; 07.04.2014
comment
ты хочешь поиграть в них? - person Harsh; 07.04.2014
comment
Да, он работает на устройстве, но здесь нет контента. Я новичок в этой платформе, поэтому не знаю, как загрузить контент с iTune. - person ; 07.04.2014
comment
Во-первых, вы не можете скачивать контент из-за проблем с авторскими правами, и вы можете только воспроизводить контент! и вы можете обратиться к этому обсуждению stackoverflow.com/questions/1665119/ - person Harsh; 07.04.2014
comment
На самом деле я хочу установить его в качестве фоновой музыки для видео, которое будет записано в этом приложении. Я хочу выбрать его в iTune и позже объединю его с записанным видео. так что мне нужно делать? - person ; 07.04.2014

Для тех, кто хочет получить ответ на Swift:

@IBAction func openMediaPickerController(sender: AnyObject) {
        let picker = MPMediaPickerController()
        picker.delegate = self
        picker.allowsPickingMultipleItems = true
        picker.prompt = NSLocalizedString("Chose audio file", comment: "Please chose an audio file")
        self.presentViewController(picker, animated: true, completion: nil)
}
func mediaPickerDidCancel(mediaPicker: MPMediaPickerController) {
    self.dismissViewControllerAnimated(true, completion: nil)
}
func mediaPicker(mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection) {
    //run any code you want once the user has picked their chosen audio
}
person Jack Whitaker    schedule 28.03.2016