2013-07-25 4 views
2

오디오 파일을 재생할 간단한 응용 프로그램이 있습니다. 내 NSURL에 mp3 파일을로드 할 때마다 제대로 작동하며 AVAudioPlayer가 노래를 재생합니다. 그러나 m4a 파일로 변경하면 NSString 경로가 내 파일 경로를 찾을 수없는 것처럼 nil을 반환하므로 NSURL이 형성되지 않습니다. 물론 m4a 파일은 프로젝트에 있습니다. 그것은 코드 아래에 있지만, 나는 코드 문제라고 생각하지 않는다. 어떤 ideias? 감사.NSBundle은 AVAudioPlayer를 인스턴스화 할 때 m4a가 아닌 mp3 파일을 찾습니다.

NSString *path = [[NSBundle mainBundle] pathForResource:@"end" ofType:@"m4a"]; 
NSURL *urlFile = [NSURL fileURLWithPath:path]; 
NSError *error; 
soundPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:urlFile error:&error]; 
if (error) 
{ 
    NSLog(@"Error in audioPlayer: %@",[error localizedDescription]); 
} else { 
    soundPlayer.delegate = self; 
    [soundPlayer prepareToPlay]; 
    [soundPlayer play]; 
} 
+0

파일이 대상에 추가되었는지 확인 했습니까? – Yazid

답변

10

은 M4A 파일을 복사 번들 자료 상 그룹 아래에 나열되지 않은 경우에는 정리를 추가, 당신의 목표의 빌드 페이즈를 확인하고 다시 실행합니다.

+0

감사합니다 Yazid이 일했습니다. mp3가 번들 리소스로 이동 한 이유와 m4a가 모르는 이유는 무엇입니까? – user1612579

+0

@ user1612579 파일을 프로젝트로 드래그하면 몇 가지 옵션이 팝업되는 창이 나타납니다. 파일을 대상에 추가하는 옵션을 선택하기 만하면됩니다. 당신은 그것을 놓칠지도 모른다. – Yazid

+2

가져 오기를 할 때 mp3에 표식이 설정되어 있습니다. m4a하지 마세요! – Tokuriku