flash as3加载网络MP3音乐并显示频谱

//相对舞台居中   
     var stageW=stage.stageWidth;
	var stageH=stage.stageHeight;
	trace(stageW,stageH);
	vid.x=stageW/2;
	vid.y=stageH/2;




//这个例子是加载外部的文件,本例为音乐文件,注意load方法只能接受URLRequest文件
var request:URLRequest=new URLRequest("http://www.wangzi.net/kissrain.mp3");
//定义一个loader
var loader:Loader = new Loader();
//为加载过程建立事件侦听器
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
//加载完成的事件侦听器
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
//加载过程中执行
function loadProgress(event:ProgressEvent):void {
	var percentLoaded:Number=event.bytesLoaded/event.bytesTotal;
	percentLoaded=Math.round(percentLoaded*100);

	txt.text="音乐已缓冲 "+percentLoaded+"%"+"";
}
//加载完成后执行
function loadComplete(event:Event):void {
	trace("Complete");
}
//载入
loader.load(request);
//放置在场景中
var shengyin:Sound=new Sound();
//用load方法把dizhi加载进来
shengyin.load(request);
//控制声音:播放
shengyin.play();

var _sound:Sound=new Sound();
var _channel:SoundChannel=new SoundChannel();
var url:String="http://www.wangzi.net/kissrain.mp3";
var _request:URLRequest = new URLRequest(url);
_sound.load(_request);
_channel=_sound.play();
var bxzr:Sprite=new Sprite();
addChildAt(bxzr,1);
var bx:Sprite=new Sprite();
bxzr.addChild(bx);
var byteArray:ByteArray = new ByteArray();
var n:Number=0;
addEventListener(Event.ENTER_FRAME,yx);
function yx(event:Event):void {
 bx.graphics.clear();
 SoundMixer.computeSpectrum(byteArray,true,0);//将当前声音输出为ByteArray
 for (var i=0; i <200; i=i+5) {
  n = byteArray.readFloat()*20;//把数据流读取成浮点数并扩大其值
  bx.graphics.lineStyle(3,0xFFFFFF,1,true,"noSacle","none");
  bx.graphics.moveTo(27+i,50);
  bx.graphics.lineTo(27+i,50-n);
 }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值