2009-07-20 4 views
1

さまざまなエンコーディングで埋め込まれたサウンドを含むレガシーファイルフォーマットがあります。これらのサウンドをFlash(Air?)で再生するには、ファイルからサウンドバイトを読み込んでSoundオブジェクトをインスタンス化することができます。はフレックスで、エンコードされたバイトからサウンドオブジェクトを動的にロードします

サウンドがエンコードされていない場合(raw pcmなど)、新しいflex 4 SampleDataEvent.SAMPLE_DATAイベントを使用してサウンドを再生できることがわかりました。

ただし、サウンドがエンコードされている場合(mp3など)、私は迷っています。 SampleDataEvent.SAMPLE_DATAによって予期されるサウンドは、生のpcmでなければなりません。私が見たことから、エンコードされたサウンドは、[埋め込み]するか、Sound.load()でURLRequestを使用することによってのみインスタンス化できます。

確かに3番目の方法がありますか? AMFまたはe4x?

答えて

3

本当に2つのルートがあります。 1つは、ActionScriptでデコーダを記述することです。 Alchemyを使用してC/C++コードを移植することで、この作業を大幅に簡単に(場合によってはより効果的に)行うことができます。これは、Flashで動作するようにOgg Vorbisを再生した方法です。

もう1つの方法は、有効なSWFをByteArray内に動的に作成することです。そのSWFにはサウンドデータで構成された埋め込みサウンドオブジェクトが含まれている可能性があります。 Flash Player 10が利用可能になる前に、多くの人々がこれまで同様のハッキングを取り除いてきました。私はあなたがAndre Michelle's and Joa Ebert's PopForge codebaseで始まるよい場所を見つけることができると信じています。

+1

サウンドアセットSWFを動的に作成する技術を試してみました。何て素晴らしいアイデアなんだ。 これを試している他の人には、SWF形式(http:// tinyurl.com/c6a2g4)のSWF Spec(http://tinyurl.com/c6a2g4)、グリフエディタ(http://tinyurl.com/d5gjad) 、SWFヘックステンプレート(http://tinyurl.com/n5vk4z)、 およびSWFツール(http://tinyurl.com/38edhl) – paleozogt

関連する問題