AS3製作MP3波形圖

示地址:
[url=http://www.taoshaw.com/taoshaw/study/wave/wave.html]http://www.taoshaw.com/taoshaw/study/wave/wave.html[/url]
類文件:
//版權所有:淘沙網:http://www.taoshaw.com
package {
//導入基本顯示列表構造塊類
import flash.display.Sprite;
//創建矢量形狀
import flash.display.Graphics;
//允許您在應用程序中使用聲音
import flash.media.Sound;
//控制應用程序中的聲音
import flash.media.SoundChannel;
//全局聲音控件的靜態屬性和方法
import flash.media.SoundMixer;
//可捕獲單個 HTTP 請求中的所有信息
import flash.net.URLRequest;
//創建 Event 對象的基類
import flash.events.Event;
//類提供用於優化讀取、寫入以及處理二進制數據的方法和屬性
import flash.utils.ByteArray;
//創建wave類
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;
  //構造wave函數
  public function wave():void {
   sound=new Sound()  ;
   ba=new ByteArray()  ;
   sound.load(new URLRequest("music.mp3"));
   sound_channel=sound.play();
   //添加事件幀聽
   this.addEventListener(Event.ENTER_FRAME,boxingtiaodong);
  }
  //boxingtiaodong函數
  private function boxingtiaodong(event:Event) {
   graphics.clear();
   drawFunction(1,0xccff00);
  }
  //drawFunction函數
  private function drawFunction(chuxi:Number,color:Number) {
   graphics.lineStyle(chuxi,color,100);
   //獲取音譜信息
   SoundMixer.computeSpectrum(ba,false,0);
   //繪製聲波曲線
   for (var i=30; i  30) {
     var fi=stage.stageHeight / 2 + num;
     graphics.lineTo(i,fi);
    } else {
     graphics.moveTo(30,stage.stageHeight / 2 + num);
    }
   }
  }
}
}然後在FLA文件文檔類中,寫上類名wave即可。
源文件下載:
[img]/uploads/allimg/081104/2124000.gif[/img]
 
[url=http://www2.flash8.net/UploadTeach/200810/20081023172444356.rar]wave.rar[/url]
   
本文轉自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/4564.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章