2013-08-01 2 views
0

전진/후진 버튼을 누를 수있는 앱을 만들고 있습니다. 이 버튼을 누를 때마다 현재 재생중인 오디오 파일이 중지되고 다른 오디오 파일이 시작됩니다. 이 모든 파일은 반복되지 않습니다.iPhone 및 시뮬레이터에서 오디오가 정상적으로 재생되지만 iPad에서는 잘리지 않습니다.

audioURL2 = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"sound2" ofType:@"aac"]]; 
      audio2 = [[AVAudioPlayer alloc] initWithContentsOfURL:audioURL2 error:nil]; 
      [audio2 play]; 
      audio1 = nil; 
      audio3 = nil; 

내가 ARC가 활성화되어, 그래서 명시 적으로 오디오 파일을 공개하고 있지 않다 :

나는 다음과 같은 코드를 사용하여 오디오 파일을 재생하고 있습니다.

대부분의 경우 위 코드가 정상적으로 작동합니다. iPhone 장치 또는 iPhone 또는 iPad 시뮬레이터에서 문제가 발생하지 않았습니다. 내 iPad 장치의 대부분의 오디오도 작동합니다.

그러나 재생하는 동안 버튼을 만지지 않아도 오디오 파일 중 하나가 완전히 재생되지 않습니다. iPad에서이 오디오 파일을 재생할 때마다 오디오 파일의 시작 부분을들을 수 있지만 같은 위치에서 잘릴 수 있습니다. 이 문제는 내 iPad에서만 발생하며 다른 기기 나 시뮬레이터에서는 발생하지 않습니다.

는 여기에 지금까지 시도 내용은 다음과 같습니다

  • 아이 패드에서 응용 프로그램을 삭제. , 청소 재건 및
  • 보장 음소거/음소거 (mute)가 꺼져
  • 했다/부드러운 몇 번 음소거 음소거 토글하고
  • 떨어져 음소거 왼쪽 아이 패드의 볼륨을 증가 아이 패드 다시 시작 응용 프로그램
  • 를 다시 설치

위의 각각을 시도한 후에 동일한 오디오 파일이 같은 위치에서 잘리는 것을 발견했습니다.

왜 이런 일이 발생하고 특히 하나의 파일에만 적용됩니까? 어떻게 해결할 수 있습니까?

UPDATE

나는 나의 헤더에 @property (strong, nonatomic) AVAudioPlayer *audio2;를 사용하여 시도하고 "유지"와 "강력한"대체했지만, 나는 여전히 같은 문제가 있습니다.

다음으로 재생 호출 전에 audio2.numberOfLoops = 1;을 붙입니다. 흥미롭게도 audio2는 반복되지만 각 루프는 이전의 컷오프 지점에서 끝납니다. sound2가 iPad 빌드에 추가되었을 때 무언가 잘못되었을 수 있습니까?

+0

더 오래된 iPad 1입니까? 기기와 시뮬레이터 간의 iOS 버전의 차이점은 무엇입니까? –

+0

iPad 장치가 6.0.1에서 실행 중이며 iPhone 장치가 5.1.1에서 실행 중입니다. 두 시뮬레이터 모두 6.1에 있습니다. 도움이된다면 배포 목표는 5.0입니다. –

+0

Odd. AVAudioPlayer를 끝내기 전까지 AVAudioPlayer에 대한 참조를 유지하고 있습니까? (때로는 ARC가 강력한 연결/참조가 아닌 것을 정리합니다) –

답변

0

내 sound2.aac 파일이 어떻게 든 손상된 것으로 보입니다. 내 응용 프로그램에서 파일을 삭제하고 프로젝트를 청소했습니다. 그런 다음 .aac 파일을 다시 저장하고 새 .aac 파일을 프로젝트에 가져온 다음 다시 정리했습니다. 내 iPad에서 다시 실행 한 후, sound2.aac이 전부 재생되었습니다.

관련 문제