网络日志

as3对外部音乐加载和播放进度的监听方法

作者:小龙博客-网络日志 2010年04月26日  没有评论 分类:AS3 学习   

as3对外部音乐加载和播放进度的监听方法。为了直观显示进度,在场景直接摆放了两个影片剪辑实例(load_mc和play_mc),分别显示加载和播放的情况。可以再绘制与它们等大的背景矩形,置于底层,使进度变化通过对比更加明显。

var w:Number=load_mc.width;//进度条原始宽度
var progressNum:Number;
load_mc.width=0;
play_mc.width=0;
var req:URLRequest=new URLRequest("http://samsung.act.qq.com/music/05.mp3");
var context: SoundLoaderContext=new SoundLoaderContext(120000,false);
//在开始传输声音流之前,将其预加载到缓冲区中所用的秒数。
// false指定 flash Player 是否应在开始加载声音之前,尝试从所加载声音的服务器下载跨域策略文件。
//如果不需要对正在加载的声音数据进行低级访问,请避免将 checkPolicyFile 设置为 true。
//检查策略文件会占用网络带宽并且可能会延迟下载的开始时间,因此只应在必要时才执行此操作。

var mySound:Sound=new Sound(req,context);
var channel:SoundChannel=new SoundChannel();

mySound.addEventListener(ProgressEvent.PROGRESS,loaderProgress);
function loaderProgress(e:ProgressEvent):void {
progressNum=e.bytesLoaded/e.bytesTotal;
load_mc.width=w*progressNum;
txtLoad.text=int(progressNum*100)+"%";
}

mySound.addEventListener(Event.COMPLETE,completeHandler);
function completeHandler(e) {
txtLoad.text="";
load_mc.width=0;
addEventListener(Event.ENTER_FRAME,frame);
channel=mySound.play();
}
function frame(e) {
play_mc.width=w*(channel.position/mySound.length);
mySound.addEventListener(Event.SOUND_COMPLETE,soundComplete);
}

function soundComplete(e) {
trace("播放完毕");
}

 

本文标题:as3对外部音乐加载和播放进度的监听方法

网址:http://www.lxlong.com/blog/archives/1260.html

其他文章:
   
« »

没有评论

发表评论 »