AudioFileOpenでAACファイルが開けない?
Audio Queue Serviceを使って色々と実験してたところ、なぜかAAC(.m4a)を読むとFloating point exceptionで落ちるという状況に遭遇。デバッガで追いかけたら、AudioFileOpenがエラーコードkAudioFileInvalidFileErrorを吐いてました。
kAudioFileInvalidFileErrorはファイルのパースに失敗した時に出るエラーです。という事は、AudioFileOpenがm4aを読めないって事になるんですが、そんな訳ありません。
でも、実際問題読めてないのでGoogle先生に聞いてみたら、coreaudio-api listでAudioFileOpen does not recognized iTunes+ filesという投稿を発見。
投稿の方はiTunes Plusなm4a、私の方はiTunes 4.6の時に生成したm4aと最近作ったVBRなm4aなので状況は少々違いますが、AudioFile APIのバグって事でFA?
Extended AudioFile APIの方だと、正常に読めるんですけどね。
LeopardのCore Audio
LeopardはCore Audioにも色々と手が入ったようです。分かった範囲で変更点を書いて行きます。
Audio Unit関連
- Effectに「Distortion」「RogerBeep」が追加。
- Mixerに「MultiChannelMixer」が追加。
- Pannerに「SphericalHeadPanner」「VectorPanner」「SoundFieldPanner」「HRTFPanner」が追加。ちなみに、これらは以前は3DMixerのSpatialization algorithmパラメータとして設定していたもの。グラフィカルなビューもついて面白そうなAUになっている。
- 「AudioFilePlayer」「NetSend」「NetReceive」のUIが日本語化!!
API関連
- 「Audio Codec Services」なるものが登場。
- 「Audio File Stream Services」なるものが登場。
- 「Audio Queue Services」なるものが登場。
- 「FireWire Audio User Library Framework」なるものが登場。
- NSSoundが強化。