2014-04-07 4 views
2

안녕하세요, 저는 MPMediaPickerController를 사용하여 전화 라이브러리에서 오디오 파일을 가져 왔습니다. 하지만 그것은 빈 화면을 제공합니다. 왜 이런 일이 일어나는 지 이해할 수 없습니다. 시뮬레이터에서 앱을 실행 중입니다. 이 내 코드Audio from 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]; } 

답변

0

있는 MPMediaPickerController은 시뮬레이터에서 작동하지 않습니다. Apple은 "Hello Music Player"의 "iPod Library Access Programming Guide"에서이 점에 주목합니다. 메모의 내용 :

참고 : 시뮬레이터에는 장치의 iPod 라이브러리에 대한 액세스 권한이 없으므로 다음 단계를 수행하려면 제공된 장치가 필요합니다.

코드를 사용하면 코드에서 액세스 할 수 있는지 확인할 수 있습니다 (코드는 ARC 및 iOS SDK 5.0을 사용합니다).

@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 
} 
+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]; } 

+0

재생 하시겠습니까? – Harsh

+0

예, 기기에서는 실행 중이지만 여기에는 콘텐츠가 없습니다. 저는이 플랫폼에 익숙하지 않아 iTune에서 어떻게 콘텐을 다운로드 할 수 있는지 모르겠습니다. –

0

?