Flash 创建声音波形图象
发布时间:2020-12-15 18:25:15 所属栏目:百科 来源:网络整理
导读://创建位图数据var bmpData:BitmapData = new BitmapData(256,100,false,0x000000);//创建模糊滤镜var blurFilter:BlurFilter = new BlurFilter(2,1.6);var matrix:Array = new Array();matrix = matrix.concat([1,0]);// 红matrix = matrix.concat([0,1,0])
//创建位图数据 var bmpData:BitmapData = new BitmapData(256,100,false,0x000000); //创建模糊滤镜 var blurFilter:BlurFilter = new BlurFilter(2,1.6); var matrix:Array = new Array(); matrix = matrix.concat([1,0]);// 红 matrix = matrix.concat([0,1,0]);// 绿 matrix = matrix.concat([0,0]);// 蓝 matrix = matrix.concat([0,.85,0]);// 透明度 var alphaFilter:ColorMatrixFilter = new ColorMatrixFilter(matrix); var bmp:Bitmap = new Bitmap(bmpData); bmp.blendMode = BlendMode.LIGHTEN; addChild(bmp); addEventListener(Event.ENTER_FRAME,enterFrameHandler); const PLOT_HEIGHT:int = 50; const CHANNEL_LENGTH:int = 256; var snd:Sound = new Sound(); var req:URLRequest = new URLRequest("song.mp3"); snd.load(req); var channel:SoundChannel; channel = snd.play(); addEventListener(Event.ENTER_FRAME,enterFrameHandler); snd.addEventListener(Event.SOUND_COMPLETE,onPlaybackComplete); var bytes:ByteArray = new ByteArray(); function enterFrameHandler(e:Event) { SoundMixer.computeSpectrum(bytes,0); var n:Number = 0; bmpData.applyFilter(bmpData,bmpData.rect,new Point(0,0),alphaFilter); bmpData.draw(this); for (var i:int = 0; i < CHANNEL_LENGTH; i++) { n = (bytes.readFloat() * PLOT_HEIGHT); bmpData.setPixel((i * 2),(PLOT_HEIGHT - n),0xffCC00); } for (i = CHANNEL_LENGTH; i > 0; i--) { n = (bytes.readFloat() * PLOT_HEIGHT); bmpData.setPixel((i * 2),0xccff00); } bmp.bitmapData.copyPixels(bmpData,0)); bmp.visible = true; bmpData.applyFilter(bmpData,blurFilter); } //播放结束时删除enterFrameHandler方法 function onPlaybackComplete(event:Event) { removeEventListener(Event.ENTER_FRAME,enterFrameHandler); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |