1061: 调用可能未定义的方法 addEventlistenter (通过 static 类型 wave 引用)。哪位好心人帮办忙。
package {
//引用相关的类
import flash.display.Sprite;
import flash.display.Graphics;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundMixer;
import flash.net.URLRequest;
import flash.events.Event;
import flash.utils.ByteArray;
public class wave extends Sprite {
//定义所需变量
private var sound:Sound;
private var ba:ByteArray;
private var num:Number;
private var sound_channel:SoundChannel;
private var t:Number = 0;
//类的构造函数,播放声音文件,并帧听 ENTER_FRAME 事件
public function wave() {
sound = new Sound();
ba = new ByteArray();
sound.load(new URLRequest("test.MP3"));
sound_channel = sound.play();
//添加事件侦听,用spectrum函数处理
this.addEventlistenter(Event.ENTER_FRAME, spectrum);
}
//侦听处理函数,调用绘制波形函数
private function spectrum(event:Event) {
graphics.clear();
drawFunction(1, 0xbb00aa);
}
//绘制波形主函数
private function drawFunction(thickness:Number, color:Number) {
graphics.lineStyle(thickness, color, 100);
//获取当前声音频谱信息
SoundMixer.computeSpectrum(ba, false, 0);
//绘制曲线
for (var i = 30; i <= stage.stageWidth - 30; i++) {
//以浮点形式读出当前声音频谱信息
num = ba.readFloat() * 360;
if (i>30) {
var fi = stage.stageHeight / 2 + num;
graphics.lineTo(i, fi);
} else {
graphics.moveTo(30, stage.stageHeight / 2 + num);
}
}
}
}
}