2015年1月4日日曜日

AS3「サポートされていないサンプリングレート」のもう一つの原因

AS3でmp3を埋め込み(embded)で使用すると正しいサンプリングレートであるにも関わらずコンパイル時に「サポートされていないサンプリングレート 」と表示され、コンパイルが成功しないことがある。

「サポートされていないサンプリングレート (32000Hz)」

のように現在のサンプリングレートらしきものが表示される場合や、

「~をトランスコードできません。」

のように原因が表示されない場合もある。

単純にサポート外のフォーマットになっている場合がほとんどであろうが、正しいフォーマットであるにも関わらずこれらのメッセージが表示されることがある。
それは、MP3のメタ情報などに日本語などのマルチバイト文字を含む場合だ。(含んでいても問題無い場合もある)

信じられないことに、AS3のコンパイラはMP3のメタ情報にマルチバイト文字がある場合に正しく処理できないのである。

信じられないことに!