Flash 声音频谱图二

1、新建一fla文件soundSpectrum2.fla

2、新建一soundSpectrum2.as文件,并与soundSpectrum2.fla关联

soundSpectrum2.as:

package 

{
import flash.display.Graphics;
import flash.media.Sound;
import flash.media.SoundMixer;
import flash.utils.ByteArray;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;

public class soundSpectrum2 extends Sprite 
{
private var bytes:ByteArray = new ByteArray();
private const PLOT_HEIGHT:int = 200; 
private const CHANNEL_LENGTH:int = 256;
[Embed(source = "mp3/kate havnevik - solo.mp3")]
private var soundClass:Class;
private var snd:Sound
public function soundSpectrum2():void
{

snd = new soundClass();

                        snd.play();

addEventListener(Event.ENTER_FRAME, onHandler);

}
private function onHandler(e:Event):void 
{
SoundMixer.computeSpectrum(bytes, true, 0); 
     
var g:Graphics = this.graphics; 
 
g.clear(); 
g.lineStyle(0, 0x99FF00); 
g.beginFill(0x99FF00); 
g.moveTo(0, PLOT_HEIGHT); 
 
var n:Number = 0; 
 
// left channel 
for (var i:int = 0; i < CHANNEL_LENGTH; i++)  

n = (bytes.readFloat() * PLOT_HEIGHT); 
g.lineTo(i * 2, PLOT_HEIGHT - n); 

g.lineTo(CHANNEL_LENGTH * 2, PLOT_HEIGHT); 
g.endFill(); 
 
// right channel 
//g.lineStyle(0, 0xCC0066);
g.lineStyle(0,0xCC0066,100,false,"noSacle","none");
g.beginFill(0x99FF00, 0.5); 
g.moveTo(CHANNEL_LENGTH * 2, PLOT_HEIGHT); 
 
for (i = CHANNEL_LENGTH; i > 0; i--)  

n = (bytes.readFloat() * PLOT_HEIGHT); 
g.lineTo(i * 2, PLOT_HEIGHT - n); 

g.lineTo(0, PLOT_HEIGHT); 
g.endFill(); 
}
}
}

Ctrl+Enter效果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西溪漫步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值