声音编程介绍

在Flash创建的引人入胜的动画效果当中,声音效果是最容易让人忽略,却又是最吸引人的地方。在动画创作中加入声音元素,能够使动画效果交互性更强,效果更生动。比如可以在视频游戏中添加声音效果,可以在应用程序用户界面中添加音频回馈,甚至可以创建一个分析通过Internet加载的mp3文件的程序。
本章将介绍何加载外部音频文件以及处理SWF中嵌入的声音。还将介绍如何控制音频和从用户麦克风捕获声音等内容。

在计算机中声音信息的表示形式被称为数字音频。计算机可以捕获并编码数字音频以及对其进行存储和检索,进而可以通过连接到计算机上的扬声器进行回放。使用Flash Player和ActionScript结合,也能够实现音频文件的回放。
在ActionScript 3.0中,利用载入的数字音频数据,可以随意的来控制声音的音量、或者立体声还是单声道声音。不过在ActionScript 3.0中控制声音之前,需要先将声音信息加载到Flash Player中。ActionScript 3.0提供了4种方法将音频数据加载到 Flash Player 中,分别为:
在运行时加载的外部声音文件。
在应用程序的 SWF 文件中嵌入的声音资源。
来自连接到用户系统上的麦克风的声音数据。
从远程媒体服务器流式传输的声音数据,如Flash Media Server。

Sound类

Sound类用于在应用程序中使用声音。利用Sound类创建新的Sound对象、将外部的MP3文件加载到该对象并播放该文件、关闭声音流,以及访问有关声音的数据,比如有关流中字节数和ID3元数据的信息。

2323232

SoundChannel类

SoundChannel类用于在应用程序中控制声音。在Flash应用程序中,播放的每一个声音都被分配到一个声道,而且应用程序可以具有混合在一起的多个声道。SoundChannel类还包含一个stop()方法、几个用于监控声道幅度的属性,以及用于对声道设置SoundTransform对象的属性。SoundChannel类共有4个属性,1个方法,1个事件,具体内容如下。
leftPeak:只读属性,表示左声道的当前音量幅度,范围从0(静音)至1(最大音量)。
position:只读属性,表示该声音中播放头的当前位置。
rightPeak:只读属性,表示右声道的当前音量幅度,范围从0(静音)至1(最大音量)。
soundTransform:分配给该声道的SoundTransform对象。用于实现音量的控制和调节。
stop()方法:停止在该声道中播放声音。
soundComplete事件:在声音完成播放后调度该事件。

SoundMixer类

如果在加载声音文件或视频文件数据的同时播放该文件,则认为是流式传输。通常,将对从远程服务器加载的外部声音文件进行流式传输,以使用户不必等待加载完所有声音数据再收听声音。SoundMixer类就是用于控制嵌入的音频文件在传输声音流之前,预先载入道缓冲区的时间。注意,此类只能控制动态加载的声音文件,而不能控制嵌入道Flash Player中的声音文件。此类有2个属性,3个方法,具体如下所示。
bufferTime:表示在开始传输嵌入的声音流之前,将其预加载到缓冲区中所用的秒数。
soundTransform :控制全局声音属性的SoundTransform对象。
areSoundsInaccessible():确定是否因安全限制而无法访问任何声音,若无法访问,则返回false。
computeSpectrum():获取当前声音波形的快照,并将其放在指定的ByteArray对象数组中。
stopAll():停止当前正在播放的所有声音。

 

 

本文来自:ASP急救中心(http://www.ccap168.cn),详细出处参考:http://ccap168.cn/news/2010410016.htm

posted @ 2011-11-16 15:48  holycy  阅读(873)  评论(0编辑  收藏  举报