2010-05-15 3 views
3

AVAudioPlayer 개체를 사용하여 오디오를 재생하고 있습니다. 처음에 audioPlayer 객체를 만들었습니다. 애니메이션을 재생하고 애니메이션이 시작되면 애니메이션이 끝나면 오디오를 재생하고 오디오를 일시 중지합니다. 나는 처음에 Instruments를 사용하여 세 번의 메모리 누출을 발견했다. (언급 된 담당 책임자는 RegisterEmbedCodecs 임). MediaPlayer 프레임 워크를 추가하기 위해이 포럼에서 "ahmet emrah"제안을 한 후 누수 수가 1로 줄어 들었습니다. 그리고 그것을 완전히 제거 할 수있는 방법이 있습니까?AVAudioPlayer 메모리 누수 - Media Player Framework

감사합니다. krishnan.

+1

Google에서 오랜 시간 동안 검색 한 결과,이 문제는 iPhone 시뮬레이터에서만 발생하며 기기에서는 발생하지 않는 것으로 나타났습니다. 그러나 장치에서 테스트하는 동안 나는 또 다른 메모리 누수 이름 "CAPThreadStart"로 재능이있었습니다. 책임있는 도서관은 AudioToolbox였습니다. 따라서 누군가가 문제를 겪은 경우 귀하의 의견을 공유하십시오. – Krishnan

답변

2

이 문제가 해결되었습니다. 이것은 시뮬레이터에서만 발생하며 장치에서는 발생하지 않습니다.

0

일부 코드는 게시 할 수 있습니다. 이것은 일반적으로 오디오 파일을 재생하는 방법이며 누출이 나타나지 않습니다.

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

AVAudioPlayer * newAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL]; 
self.theAudio = newAudio; // automatically retain audio and dealloc old file if new file is loaded 

[newAudio release]; // release the audio safely 

theAudio.delegate = self; 
[theAudio prepareToPlay]; 
[theAudio setNumberOfLoops:0]; 
[theAudio play]; 
+0

안녕하세요, 이 문제가 해결되었습니다. 이 문제는 시뮬레이터에서만 발생하며 기기에서는 발생하지 않습니다. 시간 내 주셔서 감사합니다. – Krishnan