as3 加载外部声音文件问题详细剖析

2019-10-08 15:02:53刘景俊
在AS3中使用声音跟AS2有很大的不同。先看下Flash帮助中的一些介绍,然后我们再使用导入到Flash中的声音做个小测试。

理解声音的结构
应用程序可以从4个地方加载声音:
运行时从外部声音文件里加载
内嵌到SWF文件里的声音资源
从连接到用户系统的麦克风上获取声音数据
从远程多媒体服务器,比如Flash Media Server获取声音流
可以等到声音全部加载后再播放,也可以边加载边播放。
ActionScript 3.0和Flash Player支持以mp3格式存储的声音。它们不能直接加载或播放其他格式的声音,比如WAV或AIFF。
使用Adobe Flash CS3 Professional,可以导入WAV或AIFF格式的声音,然后就可以把它们以MP3的格式嵌入到SWF文件中。Flash开发工具可以压缩嵌入的声音文件以减少文件大小,不过这样需要以降低声音质量的代价。更多信息查看 "Importing Sounds" in Using Flash.
ActionScript3.0声音使用flash.media包中的下列类

描述

flash.media.Sound

Sound类用来加载声音,管理声音的基本属性以及使声音开始播放

flash.media.SoundChannel

当程序播放一个声音对象的时候,会创建一个新的SoundChannel对象控制播放。SoundChannel对象同时控制声音的左右频道。每个播放的声音都有自己的SoundChannel对象。

flash.media.SoundLoaderContext

SoundLoaderContext类指定当加载一个声音的时候使用多少秒的缓冲区,以及从服务器加载文件的时候FlashPlayer是否查找跨域策略文件。SoundLoaderContext对象作为Sound.load() 方法的参数使用。

flash.media.SoundMixer

SoundMixer类控制程序中所有声音的回放及安全属性。实际上,多个声音频道通过一个共同的SoundMixer对象混合在一起,因此,SoundMixer对象的属性会影响正在播放的所有SoundChannel对象。

flash.media.SoundTransform

SoundTransform类包含用于控制音量和平衡的值。SoundTransform对象可以应用到一个单独的SoundChannel对象,全局的SoundMixer对象或者一个Microphone对象。

flash.media.ID3Info

ID3Info对象包含mp3文件中的ID3元数据信息。

flash.media.Microphone

Microphone类表示连接到用户电脑上的麦克风或者其他声音输入设备。从麦克风输入的音频可以传送到本地喇叭上或者远程服务器上。Microphone对象控制它自己声音流的取样率。