ちょっとした事から、簡易mp3プレーヤーをflashで作る事になり。。。
仕様的には2つの聴き比べように2つのプレイボタンとストップボタンとシークバー。
なんて事はないよく見るプレーヤーですが。。。
シークバー作るのって意外とめんどくさい。。。
再生位置の表示に欠かせない公式的なものが
handle_mc.x = SoundChannel.position / Sound.length * bar_mc.width;
クセ者は.length
ライブラリーに読み込んで、リンゲージの設定をした音源なら問題ないが、外部からの読み込み音源だと.loadで読み込んで、
var sd:Sound;
var sc:SoundChannel
var size:int
var range:int = bar_mc.width;
addEventLestener(Event.COMPLETE,load_comp);
function load_comp(Event):void{
size.length;
}
等してlength値を取得する必要があるみたい。。。
ちなみにfunctionで取得しないと値は0なので、シークバーのhandle_mcは動かない。
なので公式にあてはめると
handle_mc.x = sc.position / size * range;
って感じ。。。
気付けば当たり前の事だけど、早く言ってよ。。。
0 件のコメント:
コメントを投稿