博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flash播放音频显示波形
阅读量:4951 次
发布时间:2019-06-11

本文共 1329 字,大约阅读时间需要 4 分钟。

package{	//引入相关的类	import flash.display.Sprite;	import flash.display.Graphics;	import flash.media.Sound;	import flash.media.SoundChannel;	import flash.media.SoundMixer;	import flash.net.URLRequest;	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;				public function wave()		{			sound=new Sound();			ba=new ByteArray();			sound.load(new URLRequest("test.mp3"));			sound_channel=sound.play();			//添加事件侦听,用spectrum函数处理			this.addEventListener(Event.ENTER_FRAME,spectrum);		}		//侦听处理函数,调用绘制波形函数		private function spectrum(event:Event)		{			graphics.clear();			drawFunction(1,0xbb11aa);					}		//绘制波形主函数		private function drawFunction(thickness:Number,color:Number)		{			graphics.lineStyle(thickness,color,100);			//获取当前声音频谱信息			SoundMixer.computeSpectrum(ba,false,0);			//绘制声波曲线			for(var i=30;i<=stage.stageWidth-30;i++)			{				//以浮点形式读出当前声音频谱信息				num=ba.readFloat()*360;				if(i>30)				{					var fi=stage.stageHeight/2+num;					graphics.lineTo(i,fi);				}				else				{					trace(i);					graphics.moveTo(30,stage.stageHeight/2+num);				}			}		}	}}

转载于:https://www.cnblogs.com/chenhaib/archive/2011/06/12/2079251.html

你可能感兴趣的文章
【转】MYSQL入门学习之一:基本操作
查看>>
字体的设置 REM EM PX
查看>>
第3次作业+105032014099
查看>>
How To Use Goto?
查看>>
Spring的属性依赖检查
查看>>
KSoap2 使用 悲催记 ——服务器无法处理请求 ——<soap:Fault>
查看>>
Angular 2 学习笔记(一)
查看>>
Microsoft Visual Studio 2010 注册码
查看>>
circos pipeline
查看>>
Dapper官方教程翻译3:Dapper方法之Query(转)
查看>>
JVM 垃圾回收机制
查看>>
工作中常用到的命令
查看>>
[入门基础]初级免杀班
查看>>
rails delegate机制
查看>>
FormsAuthentication类
查看>>
WebSocket是什么原理,为什么可以实现持久连接
查看>>
局域网电脑禁止ping通的解决方法
查看>>
用PowerShell部署WSP
查看>>
课程作业02.2
查看>>
CYQ.Data 数据框架 数据库分页方式及存储过程[SQL2000/SQL2005/Oracle]
查看>>