了解声音体系结构

应用程序可以从以下五种主要来源加载声音数据:

  • 在运行时加载的外部声音文件

  • SWF 文件中嵌入的声音资源

  • 来自连接到用户系统上的麦克风的声音数据

  • 从 Flash Media Server 等远程媒体服务器流式传输的声音数据

  • 使用 sampleData 事件处理程序动态生成的声音数据

可以在播放之前完全加载声音数据,也可以进行流式传输,即在仍进行加载的同时播放这些数据。

Adobe AIR 支持以 mp3 格式存储的声音文件。它们不能直接加载或播放 WAV 或 AIFF 等其他格式的声音文件。(但 AIR 还可以使用 NetStream 类加载并播放 AAC 音频文件。)

AIR 声音体系结构包含以下类:

说明

Sound

Sound 类处理声音加载、管理基本声音属性以及启动声音播放。

SoundChannel

当应用程序播放 Sound 对象时,将创建一个新的 SoundChannel 对象来控制播放。SoundChannel 对象可控制声音的左和右播放声道的音量。播放的每种声音都具有其自己的 SoundChannel 对象。

SoundLoaderContext

SoundLoaderContext 类指定在加载声音时使用的缓冲秒数,以及运行时在加载文件时是否从服务器中查找跨域策略文件。SoundLoaderContext 对象用作 Sound.load() 方法的参数。

SoundMixer

SoundMixer 类可控制与应用程序中的所有声音有关的播放和安全属性。实际上,可通过一个通用 SoundMixer 对象将多个声道混合在一起。该 SoundMixer 对象中的属性值将影响当前播放的所有 SoundChannel 对象。

SoundTransform

SoundTransform 类包含控制音量和声相的值。可以将 SoundTransform 对象应用于单个 SoundChannel 对象、全局 SoundMixer 对象或 Microphone 对象等。

ID3Info

ID3Info 对象包含一些属性,它们表示通常存储在 MP3 声音文件中的 ID3 元数据信息。

Microphone

Microphone 类表示连接到用户计算机上的麦克风或其他声音输入设备。可以将来自麦克风的音频输入传送到本地扬声器或发送到远程服务器。Microphone 对象控制其自己的声音流的增益、采样率以及其他特性。

加载和播放的每种声音需要其自己的 Sound 类和 SoundChannel 类的实例。播放期间,SoundMixer 类将混合多个 SoundChannel 实例的输出。

Sound、SoundChannel 和 SoundMixer 类不能用于从麦克风或流媒体服务器(如 Flash Media Server)中获取的声音数据。