谁可相欹 发表于 2015-1-15 20:37:58

来谈谈: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个值,此时按相反的按次(从右到左)对它们举行绘制。天生的波形图大概会发生风趣的镜像图象效果。

运行时,它可以跨浏览器和操作系统、原汁原味地呈现具有表现力的应用程序、内容和视频,功能强大,兼容性高。

乐观 发表于 2015-1-17 13:22:40

而作为富媒体营销概念中的重要手段,很长一段时间,或者说,在未来,富媒体技术的不断完善,Flash动画广告的优势会越来越明显。

愤怒的大鸟 发表于 2015-1-24 14:04:31

它包含了下列常见的形式之一或者几种的组合:流媒体、声音、Flash、以及Java、Javascript、DHTML等程序设计语言。  

因胸联盟 发表于 2015-2-1 17:20:52

Flash使交互性容易,并且消除了学习某种语言的需要。折中办法是不学语言,同时失去一些功能。但是你仍然可以处理基于用户动作(如鼠标移动或点击)的触发事件,这通常是你需要的所有交互性。

兰色精灵 发表于 2015-2-7 13:50:37

逐渐改变了我们生活及生活习惯的一些东西,而正是互联网的大势兴起,Flash动画越来越受到宠爱,现在,Flash动画已成为网络广告的中坚力量。

谁可相欹 发表于 2015-2-22 18:12:07

FLASH在网站建设过程中既然有这么多的问题,那为什么我们还继续使用FLASH,不可否认FLASH的问题的确存在,但也不可忽视FLASH在网站建设中。

海妖 发表于 2015-3-7 04:02:01

富媒体广告的概念:富媒体 Rich Media,是由英文翻译而来,从字面上很难理解Rich Media到底是什么。

金色的骷髅 发表于 2015-3-14 12:39:30

在Web上只好把动画做得很小。即使最简单的动画也需要较长的下载时间。Flash的流技术和矢量图形对这种情况做了改变。

仓酷云 发表于 2015-3-21 09:37:47

flash的流行因素包括了技术上的优势——技术本身的优势;技术掌握上的优势;其他技术的弱势;
页: [1]
查看完整版本: 来谈谈:Flash AS3.0实例:声响可视化波形图-Flash actionscript