声音处理基础知识

Flash Player 9 和更高版本,Adobe AIR 1.0 和更高版本

计算机可以捕获和编码数字音频(声音信息的计算机表示形式),还可以存储和检索声音,从而通过扬声器播放。您可以使用 Adobe® Flash® Player 或 Adobe® AIR™ 以及 ActionScript 来播放声音。

将声音数据转换为数字形式后,它具有各种不同的特性,如声音的音量以及它是立体声还是单声道声音。在 ActionScript 中播放声音时,您也可以调整这些特性;例如,使声音变得更大,或者使其像是来自某个方向。

您需要先将声音信息加载到 Flash Player 或 AIR 中,才能在 ActionScript 中控制声音。可以使用五种方式将音频数据加载到 Flash Player 或 AIR 中,以便通过 ActionScript 使用这些数据。

  • 将外部声音文件(如 mp3 文件)加载到 SWF 中。

  • 在创建 SWF 文件时将声音信息直接嵌入到其中。

  • 使用连接到用户计算机的麦克风来获取音频。

  • 从服务器流式传输音频。

  • 动态生成并播放音频。

从外部声音文件加载声音数据时,您可以在仍加载其余声音数据的同时开始播放声音文件的开头部分。

虽然可以使用各种不同的声音文件格式对数字音频进行编码,但是 ActionScript 3.0、Flash Player 和 AIR 支持以 mp3 格式存储的声音文件。它们不能直接加载或播放 WAV 或 AIFF 等其他格式的声音文件。

在 ActionScript 中处理声音时,可能会使用 flash.media 包中的某些类。可以使用 Sound 类来访问音频信息:加载声音文件或为对声音数据进行采样的事件分配函数,然后开始播放。开始播放声音后,Flash Player 和 AIR 为您提供对 SoundChannel 对象的访问。因为已加载的音频文件只能是您在用户计算机上播放的几种声音之一,所以,所播放的每种单独的声音都使用自己的 SoundChannel 对象;混合在一起的所有 SoundChannel 对象的组合输出是实际通过计算机扬声器播放的声音。可以使用此 SoundChannel 实例来控制声音的属性以及使其停止播放。最后,如果要控制组合音频,您可以通过 SoundMixer 类对混合输出进行控制。

也可以使用其他几个类,在 ActionScript 中处理声音时执行更具体的任务;要了解与声音有关的所有类的详细信息,请参阅 了解声音体系结构

重要概念和术语

以下参考列表包含您可能遇到的重要术语:

波幅
声音波形上的点与零或平衡线之间的距离。

比特率
每秒为声音文件编码或流式传输的数据量。对于 mp3 文件,比特率通常是以每秒千位数 (kbps) 来表述的。较高的比特率通常意味着较高品质的声音波形。

缓冲
在播放之前接收和存储声音数据。

mp3
MPEG-1 Audio Layer 3 或 mp3 是常见的声音压缩格式。

平移
音频信号在立体声声场中左右两声道之间的位置。

峰值
波形中的最高点。

采样率
定义每秒从模拟音频信号采集的用来组成数字信号的样本数。标准光盘音频的采样率为 44.1 kHz 或每秒 44,100 个样本。

此过程是指,在从服务器加载声音文件或视频文件的后面部分的同时播放该文件的前面部分。

声音的响度。

波形
声音信号波幅随时间推移不断变化的图形形状。