전진/후진 버튼을 누를 수있는 앱을 만들고 있습니다. 이 버튼을 누를 때마다 현재 재생중인 오디오 파일이 중지되고 다른 오디오 파일이 시작됩니다. 이 모든 파일은 반복되지 않습니다.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 빌드에 추가되었을 때 무언가 잘못되었을 수 있습니까?
더 오래된 iPad 1입니까? 기기와 시뮬레이터 간의 iOS 버전의 차이점은 무엇입니까? –
iPad 장치가 6.0.1에서 실행 중이며 iPhone 장치가 5.1.1에서 실행 중입니다. 두 시뮬레이터 모두 6.1에 있습니다. 도움이된다면 배포 목표는 5.0입니다. –
Odd. AVAudioPlayer를 끝내기 전까지 AVAudioPlayer에 대한 참조를 유지하고 있습니까? (때로는 ARC가 강력한 연결/참조가 아닌 것을 정리합니다) –