再学AS3(六)——音乐播放器(3):…

来源:互联网 发布:怎么提高淘宝店铺流量 编辑:程序博客网 时间:2024/06/16 09:55

主要功能:
显示各种频谱效果

制作过程:
1、新建FLASHCS3文档,保存名为“频谱”,保存在存有音乐的文件夹内。设置文档大小:252×114像素,帧频:24fps。
2、第一层名为“播放器背景”,在该层画一个播放器背景。
3、新建图层,名为“AS”,在帧上分别写如下代码:

//第一种效果
var _sound:Sound=new Sound();
var _channel:SoundChannel=new SoundChannel();
var url:String="******.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);
 }
}
再学AS3(六)——音乐播放器(3):频谱

//第二种效果
var _sound:Sound=new Sound();
var _channel:SoundChannel=new SoundChannel();
var url:String="******.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,false,0);//将当前声音输出为ByteArray
 for (var i=0; i <200; i=i+2){
  n =byteArray.readFloat()*40;//把数据流读取成浮点数并扩大其值
  bx.graphics.lineStyle(1,0xFFFFFF,1,true,"noSacle","none");
  bx.graphics.moveTo(27+i,50+n);
  bx.graphics.lineTo(27+i,50-n);
 }
}
再学AS3(六)——音乐播放器(3):频谱

//第三种效果
var _sound:Sound=new Sound();
var _channel:SoundChannel=new SoundChannel();
var url:String="******.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();
 bx.graphics.moveTo(27,50);
 SoundMixer.computeSpectrum(byteArray,false,0);//将当前声音输出为ByteArray
 for (var i=0; i <200; i++) {
  n =byteArray.readFloat()*40;//把数据流读取成浮点数并扩大其值
  bx.graphics.lineStyle(1,0xFFFFFF,1,true,"noSacle","none");
  bx.graphics.lineTo(27+i,50-n);
 }
}
再学AS3(六)——音乐播放器(3):频谱


2010音乐播放器(5)——频谱效果2

2010音乐播放器(5)——频谱效果2.swf(62.5 KB)

2010音乐播放器(5)——频谱效果1

2010音乐播放器(5)——频谱效果1.swf(62.5 KB)

2010音乐播放器(5)——频谱效果3

2010音乐播放器(5)——频谱效果3.swf(62.6 KB)

0 0