仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 872|回复: 8
打印 上一主题 下一主题

[学习教程] 来谈谈:Flash AS3.0实例:声响可视化波形图-Flash actionscript

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 20:37:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
占用硬盘空间少,所以被广泛应用于游戏、网络视频、网站广告、交互设计等。
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使交互性容易,并且消除了学习某种语言的需要。折中办法是不学语言,同时失去一些功能。但是你仍然可以处理基于用户动作(如鼠标移动或点击)的触发事件,这通常是你需要的所有交互性。
兰色精灵 该用户已被删除
5#
发表于 2015-2-7 13:50:37 | 只看该作者
逐渐改变了我们生活及生活习惯的一些东西,而正是互联网的大势兴起,Flash动画越来越受到宠爱,现在,Flash动画已成为网络广告的中坚力量。
谁可相欹 该用户已被删除
6#
 楼主| 发表于 2015-2-22 18:12:07 | 只看该作者
FLASH在网站建设过程中既然有这么多的问题,那为什么我们还继续使用FLASH,不可否认FLASH的问题的确存在,但也不可忽视FLASH在网站建设中。
海妖 该用户已被删除
7#
发表于 2015-3-7 04:02:01 | 只看该作者
富媒体广告的概念:富媒体 Rich Media,是由英文翻译而来,从字面上很难理解Rich Media到底是什么。
金色的骷髅 该用户已被删除
8#
发表于 2015-3-14 12:39:30 | 只看该作者
在Web上只好把动画做得很小。即使最简单的动画也需要较长的下载时间。Flash的流技术和矢量图形对这种情况做了改变。
9#
发表于 2015-3-21 09:37:47 | 只看该作者
flash的流行因素包括了技术上的优势——技术本身的优势;技术掌握上的优势;其他技术的弱势;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-27 16:10

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表