2009-04-16 25 views
0

我剛開始使用儀器和它的泄漏檢測功能。我是監視我的代碼,我注意到有當我調用該方法的泄漏:AudioServicesCreateSystemSoundID內存泄漏?

AudioServicesCreateSystemSoundID

我基本上使用從節拍器示例代碼SoundEffect.m文件。我使用的是一個原本是.wav的聲音文件,我使用Itunes將其轉換爲aif並將其更名爲caf。它運行得很好,直到我運行儀器時才意識到有泄漏。

奇怪的是,當我使用不同的聲音文件(tick.caf - 從Mentronome示例項目) - 沒有泄漏。在沒有真正的答案在這裏說明,爲什麼同一個問題:

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

不管怎麼說,是沒有任何理由,爲什麼我的聲音文件會導致泄漏? Audio Toolkit特別挑剔它試圖播放的音頻文件?

回答

2

我不明白它爲什麼會導致泄漏,但播放名爲cafaiff文件時,AudioServices中可能存在一個錯誤。嘗試使用afconvert從你的Mac產生一個真正的caf文件轉換:

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

是的,它做到了!謝謝! – WillF 2009-04-16 06:10:18

0

使用AudioServicesDisposeSystemSoundID處置。