来谈谈:Flash AS3.0实例:声响可视化波形图-Flash actionscript
占用硬盘空间少,所以被广泛应用于游戏、网络视频、网站广告、交互设计等。poluoluo中心提醒:本例为FlashAS3.0实例教程,在教程中我们将进修使用SoundMixer.computeSpectrum()办法来构建复杂的声响可视化程序(即波形图),但愿能给伴侣们带来匡助.
本例为FlashAS3.0实例教程,在教程中我们将进修使用SoundMixer.computeSpectrum()办法来构建复杂的声响可视化程序(即波形图),但愿能给伴侣们带来匡助~~
AS3.0构建复杂的声响可视化程序(波型图)
利用SoundMixer.computeSpectrum()办法来显现声响波形图
importflash.display.Graphics;
importflash.events.Event;
importflash.media.Sound;
importflash.media.SoundChannel;
importflash.media.SoundMixer;
importflash.net.URLRequest;
constPLOT_HEIGHT:int=200;
constCHANNEL_LENGTH:int=256;
varsnd:Sound=newSound();
varreq:URLRequest=newURLRequest("玉轮之上.mp3"); //设置声响源文件地点(此为当地,可设置远程)
snd.load(req);
varchannel:SoundChannel;
channel=snd.play();
addEventListener(Event.ENTER_FRAME,onEnterFrame);
snd.addEventListener(Event.SOUND_COMPLETE,onPlaybackComplete);
varbytes:ByteArray=newByteArray();
functiononEnterFrame(event:Event):void
{
SoundMixer.computeSpectrum(bytes,false,0);
varg:Graphics=this.graphics;
g.clear();
g.lineStyle(0,0x6600CC);
g.beginFill(0x6600CC);
g.moveTo(0,PLOT_HEIGHT);
varn:Number=0;
//leftchannel
for(vari: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();
//rightchannel
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();
}
functiononPlaybackComplete(event:Event)
{
removeEventListener(Event.ENTER_FRAME,onEnterFrame);
}先加载并播放一个声响文件,然后在播放声响的同时侦听将触发onEnterFrame()办法的Event.ENTER_FRAME事务。onEnterFrame()办法先挪用SoundMixer.computeSpectrum()办法,后者将声响波形数据存储在bytesByteArray工具中。
声响波形是利用矢量画图API绘制的。for轮回将轮回会见第一批256个数据值(暗示左平面声声道),然后利用Graphics.lineTo()办法绘制一条从每一个点到下一个点的直线。第二个for轮回将轮回会见下一批256个值,此时按相反的按次(从右到左)对它们举行绘制。天生的波形图大概会发生风趣的镜像图象效果。
运行时,它可以跨浏览器和操作系统、原汁原味地呈现具有表现力的应用程序、内容和视频,功能强大,兼容性高。 而作为富媒体营销概念中的重要手段,很长一段时间,或者说,在未来,富媒体技术的不断完善,Flash动画广告的优势会越来越明显。 它包含了下列常见的形式之一或者几种的组合:流媒体、声音、Flash、以及Java、Javascript、DHTML等程序设计语言。 Flash使交互性容易,并且消除了学习某种语言的需要。折中办法是不学语言,同时失去一些功能。但是你仍然可以处理基于用户动作(如鼠标移动或点击)的触发事件,这通常是你需要的所有交互性。 逐渐改变了我们生活及生活习惯的一些东西,而正是互联网的大势兴起,Flash动画越来越受到宠爱,现在,Flash动画已成为网络广告的中坚力量。 FLASH在网站建设过程中既然有这么多的问题,那为什么我们还继续使用FLASH,不可否认FLASH的问题的确存在,但也不可忽视FLASH在网站建设中。 富媒体广告的概念:富媒体 Rich Media,是由英文翻译而来,从字面上很难理解Rich Media到底是什么。 在Web上只好把动画做得很小。即使最简单的动画也需要较长的下载时间。Flash的流技术和矢量图形对这种情况做了改变。 flash的流行因素包括了技术上的优势——技术本身的优势;技术掌握上的优势;其他技术的弱势;
页:
[1]