リプタクのもう覚えられません
Google
Web サイト内
topmemo ▶ サウンド再生位置を取得

ActionScript

サウンド再生位置を取得

サウンドの再生位置を取得し、一時停止させるサンプル。

JavaScriptを有効にし、最新のFlashPlayerをインストールお願いしますGet Adobe Flash player


as3コード



//変数
var sound1:Sound;//サウンド
var sTrans1:SoundTransform;//音量,パン
var sChan1:SoundChannel;//開始ミリ秒,繰り返し数,音量
var time1:uint;//開始位置
var flagPlay:uint;//0停止中,1再生中

//init
f_init();
function f_init(){
	sound1 = new Sound();
	sTrans1 = new SoundTransform(1.0,0);
	time1 = 0;
	flagPlay = 0;
	tf1.text = String(time1);
	f_soundLoad();
}

//load
function f_soundLoad(){
	var fileName:String = "sound.mp3";
	sound1.load(new URLRequest(fileName));
	sound1.addEventListener(Event.COMPLETE,f_loadComp);
}

//loadComp
function f_loadComp(e:Event):void{
	bt_mc.addEventListener(MouseEvent.CLICK,f_c);
}

//click
function f_c(e:MouseEvent):void{
	switch(flagPlay){
		case 0://停止中処理
			flagPlay = 1;
			sChan1 = sound1.play(time1,1,sTrans1);//★指定位置から再生
			sChan1.addEventListener(Event.SOUND_COMPLETE,f_soundEnd);
			addEventListener(Event.ENTER_FRAME,f_enterFrame);
			break;
		case 1://再生中処理
			flagPlay = 0;
			time1 = sChan1.position;//★停止位置の取得
			sChan1.stop();
			removeEventListener(Event.ENTER_FRAME,f_enterFrame);
			break;
	}
}

//enterFrame
function f_enterFrame(e:Event):void{
	tf1.text = String( Math.floor(sChan1.position) );
}

//soundEnd
function f_soundEnd(e:Event):void{
	removeEventListener(Event.ENTER_FRAME,f_enterFrame);
	time1 = 0;
	flagPlay = 0;
	tf1.text = String(time1);
}


last update 2012.10.22
参考・出典等
「特に無し」

▲page top

topmemogalleryblogtestaboutlinksmail
Copylight(C)2008-2012 Riptac. All Rights Reserved.