FileReference.loadでサウンドをロードするライブラリ

by admin

FileReference.loadは読み込んだデータがByteArray型になるため、ByteArrayを読み込むメソッドがないSoundクラスの場合かなり不便。FlexibleFactoryでFileReference.loadで選択したMP3ファイルを再生するパッケージが配布されている。使い方も超簡単。ローカルのMP3からサウンドスペクトラムを表示するサンプルを作ってみた。自分のチョイスした曲を無理矢理聴かせるよりは良心的かな。

[FlashPlayer10]Suck Your Music
(要Flash Player 10)

import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.FileReference;
import org.audiofx.mp3.MP3FileReferenceLoader;
import org.audiofx.mp3.MP3SoundEvent;

_loader:MP3FileReferenceLoader = new MP3FileReferenceLoader();
_loader.addEventListener(MP3SoundEvent.COMPLETE,onComplete);
_fr:FileReference = new FileReference();
_fr.addEventListener(Event.SELECT,onSelect);
stage.addEventListener(MouseEvent.CLICK,onClick);

function onClick(e:MouseEvent):void{
    _fr.browse();
}

function onSelect(e:Event):void{
    _loader.getSound(_fr);
}

function onComplete(e:MP3SoundEvent):void{
    e.sound.play();
}