2010ARarargartas3bytearrayclasseventEventFlashflashGooglenewNumberpublicSampleDataEventsoundSoundswfURLLoadervectorwavmp3を音素材として使用すると、mp3の仕様で頭の部分にどうしても無音部分が入り、ループで使用する場合に想定外のギャップができたりします。そのため、ループサウンドを途切れなくループさせるにはWAV形式などmp3形式以外のサウンドファイルを使うことになります。Flashでの音声ファイルの外部読み込みに関しては、mp3のみが外部読み込みに対応しているためループ音源を外部読み込みさせたい場合、これまではWAVを埋め込んだSWF(Fla内でmp3形式で圧縮すると無音部分が入らずに軽くできる)を外部読み込みして、そこからサウンドクラスを取り出して使用したりしていました。バイナリデータを扱えるようになったFlashPlayer10では外部読み込みしたwavファイルのバイナリを解析して再生出来ると聞いたことがあったのでas3でのバイナリ操作の勉強のために1から実装してみました。WAVのフォーマットについてはGoogle先生に聞けば、わかりやすくまとまったものがたくさん出てきます。データの配列を返すようなデコードクラスを作ってみました。dataLength;event.data.writeFloat(_channelL[_readOffset]);event.data.writeFloat(_channelR[_readOffset]);}}ただ、WAVは非圧縮データなので、非常に容量が大きいのが難点ですね。8bitのモノラルで制作しても1秒あたり40kb程度の容量になってしまいますので実際に使用するにはかなりの注意が必要そうです。WAVのフォーマットがわかってしまえば、デコードだけでなくエンコード処理もサクっと作れます。次はエンコード処理を実装して、WAVファイルへの書き出し機能を持った簡易効果音ジェネレーターでもつくってみようかと思います。SocialAnimationinfomisc.当サイトは、ブラウザのJavaScript設定を有効にしてご覧ください。