发新话题
打印

[求救] 我想学讨厌的FLASH页那样自己做声音的波形

我想学讨厌的FLASH页那样自己做声音的波形

我想学讨厌的FLASH页那样自己做声音的波形。
我个人想法:获取声音的频率高低,分别数字记录到变量当中,然后再根据变量做波形。

请讨厌讲下原理,可以的话做个简单教程

TOP

复制内容到剪贴板
代码:
//申明一个声音实例,就是库中那个音乐
var my_sound:mySound=new mySound;
//申明一个管理声音的通道
var my_channel:SoundChannel=new SoundChannel;
//创建一个表示填充的字节数组的 ByteArray 实例
var _bytearray:ByteArray= new ByteArray();
//创建一个Sprite实例,来显示波形
var w_sprite:Sprite=new Sprite;
//设置其坐标
w_sprite.x=200,w_sprite.y=300;
//添加到显示列表,也就是上它在舞台上显示
addChild(w_sprite);
function show_func(_evt:Event ):void {
        //波形绘制,
        w_sprite.graphics.clear();
        //把当前的声音数据流存放到_bytearray这个实例中
        SoundMixer.computeSpectrum(_bytearray, true);
        //在这里进行动态绘制
        for (var p:Number=0; p<=32; p++) {//要取完左右声道,应该用512,而不是32
                //从数据流中读出一个整数,即_bytearray.readFloat()
                var w_num:Number = -_bytearray.readFloat()*80;
                w_sprite.graphics.lineStyle(3,Math.random ()*0xffffff);
                w_sprite.graphics.moveTo(p*5,0);
                w_sprite.graphics.lineTo(p*5,w_num);
        }
}
my_channel=my_sound.play();
addEventListener("enterFrame",show_func);
FLA文件下载
SWF文件下载


我网站上那个是假的,AS3才能做得出真的,上面的示例就是AS3做的,请用FLASH CS3打开,FLASH8打不开

TOP

发新话题