2个回答
展开全部
其实一楼的回答也可以 下面用ByteArray可以实时实现绘画波形图
首先音乐要设置AS链接为Music
完整代码如下
//播放音乐
var music:Music=new Music();;
music.play();
//绘制波形图
var ba:ByteArray=new ByteArray();
var canvas:Sprite=new Sprite();
canvas.alpha = 0.5;
addChild(canvas);
var g:Graphics = canvas.graphics;
stage.addEventListener(Event.ENTER_FRAME,showSpectrum);
function showSpectrum(e:Event):void
{
SoundMixer.computeSpectrum(ba);
g.clear();
g.moveTo(0,400);
g.lineStyle(0);
g.beginFill(0xFF0000);
g.lineTo(0,200);
for (var i:int=0; i<256; i++)
{
g.lineTo(i/256*275,ba.readFloat()*100+200);
}
g.lineTo(275,200);
g.lineTo(275,400);
g.lineTo(0,400);
g.endFill();
g.moveTo(275,400);
g.lineStyle(0);
g.beginFill(0x0000FF);
g.lineTo(275,200);
for (var j:int=0; j<256; j++)
{
g.lineTo(j/256*275+275,ba.readFloat()*100+200);
}
g.lineTo(550,200);
g.lineTo(550,400);
g.lineTo(275,400);
g.endFill();
}
最终结果
更多追问追答
追问
不行啊,提示1。2。行需要标识符
不行啊,提示1。2。行需要标识符
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询