2009-04-16 6 views
0

私は、インストゥルメントとリーク検出機能を使い始めました。私は私のコードを監視していたと私はメソッドを呼び出す漏れがある気づい:AudioServicesCreateSystemSoundIDメモリリーク?

は、私は基本的にメトロノームのサンプルコードからSoundEffect.mファイルを使用しています

をAudioServicesCreateSystemSoundID。私はもともと.wavだったサウンドファイルを使用しています。私はItunesを使ってaifに変換し、それをcafという名前に変更しました。私はインストゥルメントを使い、漏れがあることに気付いた。

奇妙なことは、別のサウンドファイル(Mentronomeサンプルプロジェクトのtick.caf)を使用すると、漏れがないということです。同じ問題を理由としては本当の答えをここで説明されています

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

とにかく、私のサウンドファイルは、リークが発生する理由何らかの理由があるのでしょうか? Audio Toolkitは、再生しようとしているオーディオファイルについて特に気になりますか?

答えて

2

なぜそれがリークを引き起こすのかわかりませんが、cafという名前のaiffファイルを再生すると、おそらくAudioServicesにバグがあります。お使いのMacから本当のcafファイルを生成するためにafconvertを使用して変換してみてください。

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

よかったよ!ありがとう! – WillF

0

使用AudioServicesDisposeSystemSoundIDを処分します。