2009-04-16 3 views
0

방금 ​​Instruments와 누설 감지 기능을 사용하기 시작했습니다. 난 내 코드를 모니터링하고 있었고, 난 내가 메서드를 호출 누출이 발견 :AudioServicesCreateSystemSoundID 메모리 누출?

나는 기본적으로 메트로놈 샘플 코드에서 SoundEffect.m 파일을 사용하고

을 AudioServicesCreateSystemSoundID가. 원래는 .wav였던 사운드 파일을 사용하고 있으며, Itunes를 사용하여 AIF로 변환하고 caf로 이름을 변경했습니다. 그것은 잘 작동하고 내가 누출되었다는 것을 깨달은 Instruments를 달리기 전까지는 그렇지 않았습니다.

이상한 점은 다른 사운드 파일 (Mentronome 샘플 프로젝트의 tick.caf)을 사용할 때 누수가 없다는 것입니다. 같은 문제가 이유에 진짜 답을 여기에 설명되어 있습니다 : 어쨌든

http://discussions.apple.com/thread.jspa?messageID=8360344

, 내 사운드 파일이 누수가 발생할 왜 어떤 이유가? 오디오 툴킷은 특히 재생하려고하는 오디오 파일에 대해 까다롭게 사용됩니까?

답변

2

누수가 발생하는 이유는 알 수 없지만 caf이라는 aiff 파일을 재생할 때 AudioServices에 버그가있을 수 있습니다. 당신의 맥에서 실제 caf 파일을 생성하는 afconvert를 사용하여 변환하려고 :

afconvert -f caff -d ima4 input.mp3 output.caf 
+0

그래, 그랬어! 감사! – WillF

0

사용 AudioServicesDisposeSystemSoundID가 처리 할 수 ​​있습니다.