分享

很有用的音频波型图

 宜宾翠屏区 2018-12-21
import flash.display.Graphics;
import flash.events.Event;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundMixer;
import flash.net.URLRequest;
const PLOT_HEIGHT:int = 200;
const CHANNEL_LENGTH:int = 256;
var snd:Sound = new Sound();
var req:URLRequest = new URLRequest("p.mp3");
snd.load(req);
var channel:SoundChannel;
channel = snd.play();
addEventListener(Event.ENTER_FRAME,onEnterFrame);
snd.addEventListener(Event.SOUND_COMPLETE,onPlaybackComplete);
var bytes:ByteArray = new ByteArray();
function onEnterFrame(event:Event):void {
 SoundMixer.computeSpectrum(bytes, false, 0);
 var g:Graphics = this.graphics;
 g.clear();
 g.lineStyle(0, 0x6600CC);
 g.beginFill(0x6600CC);
 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.beginFill(0xCC0066, 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();
}
function onPlaybackComplete(event:Event) {
 removeEventListener(Event.ENTER_FRAME, onEnterFrame);
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多