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
[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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.