2016-06-02 2 views
1

다음 코드 초기화가 : 내가 시뮬레이터 오전 때오디오 플레이어는 시뮬레이터가 아닌 iOS 기기에서 작동

NSString *path = [NSString stringWithFormat:@"%@/test.mp3", [[NSBundle mainBundle] resourcePath]]; 
NSURL *soundUrl = [NSURL fileURLWithPath:path]; 
_audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil]; 

그런 다음 버튼이

[_audioPlayer play]; 

그래서 잘 작동 플레이어를 시작을 내 장치에서는 작동하지 않습니다.

답변

4

앱 번들에있는 파일의 경로를 얻을 수있는 적절한 방법은 다음과 같이이다 :

NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp3"]; 

을하지만 실제로 NSURL을 원하는 경우, 직접 얻기 위해 다음을 사용 :

NSURL *soundUrl = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"mp3"]; 

또한 시뮬레이터는 대소 문자를 구분하지 않지만 실제 장치는입니다. 파일 이름이 test.mp3이고 Test.mp3이 아닌 파일인지 확인하십시오. 실제 파일 이름과 일치하도록 코드에서 이름을 업데이트하십시오.

soundURLnil이 아닌지 확인하려면 디버거를 사용하십시오.

NSError *error = nil; 
_audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:&error]; 
if (!_audioPlayer) { 
    NSLog(@"Unable to create audio player: %@", error); 
} 
+0

하지 않았다 어떤 것도 –

+0

하지 않았다 :하지하지만 오디오 플레이어가 여전히 작동하지 않는 경우 이유를 확인하기 위해 error 매개 변수를 사용? 나는 많은 제안을했다. 내가 제안한 모든 것을 했니? 구체적으로 기재하십시오. – rmaddy

+0

미안하지만, 나는 그것을 뒤로 가져 간다. 기기에서 내 스피커에 문제가 있음을 알 수 있습니다. 나는 aux 케이블을 통해 그것을 연주했고 작동했습니다. –

관련 문제