使用 ActionScript,可以在运行时控制声音。使用 ActionScript,可以在 FLA 文件中创建交互和其他功能,仅使用时间轴是不能创建它们的。

其他资源描述了如何在 ActionScript 3.0 中处理声音:

  • AS3 开发人员指南:处理声音

  • 视频教程:Flash 中的音频:第 2 部分(声音和 ActionScript)LayersMagazine.com

    注:  (仅限 Flash Professional CC)Flash Pro CC 不支持 ActionScript 2.0 和 ActionScript 1.0。

使用行为控制声音

通过使用声音行为(预先编写的 ActionScript 2.0)可以将声音添加至文档并控制声音的播放。 使用这些行为添加声音将会创建声音的实例,然后使用该实例控制声音。

注:  ActionScript 3.0 和 Flash Lite 1.x 及 Flash Lite 2.x 不支持行为。

使用行为将声音载入文件

  1. 选择要用于触发行为的对象(如按钮)。

  2. 在“行为”面板(“窗口”>“行为”)中,单击“增加”(+) 按钮,然后选择“声音”>“从库加载声音”或者“声音”>“加载 MP3 流文件”。

  3. 在“加载声音’对话框中,输入“库”中声音的链接标识符或 mp3 流文件的声音位置。 然后,输入这个声音实例的名称并单击“确定”。

  4. 在“行为’面板中的“事件”下,单击“释放时”(默认事件),然后从此菜单中选择一个鼠标事件。 如要使用 OnRelease 事件,不要更改此选项。

使用行为播放或停止声音

  1. 选择要用于触发行为的对象(如按钮)。

  2. 在“行为”面板(“窗口”>“行为”)中,单击“增加”(+) 按钮。

  3. 选择“声音”>“播放声音、“声音”>“停止声音”或“声音”>“停止所有声音”。

  4. 在出现的对话框中,执行以下操作之一:

    • 输入链接标识符和要播放或要停止的声音的实例名称,然后单击“确定”。

    • 单击“确定”确认要停止所有声音。


  5. 在“行为”面板中的“事件”下,单击“释放时”(默认事件),然后从此菜单中选择一个鼠标事件。 如要使用 OnRelease 事件,不要更改此选项。

使用 ActionScript 2.0 Sound 对象控制声音

使用 ActionScript 2.0 中的 Sound 对象将声音添加至文档并在文档中控制声音对象,例如在播放声音时调整音量或左右平衡。 有关详细信息,请参阅学习使用 Flash 中的 ActionScript 2.0 中的“创建声音控件”。

  1. 在“库”面板中选择声音。

  2. 从面板右上角的“面板”菜单中选择“链接”,或者右键单击 (Windows) 或按住 Control 单击 (Macintosh)“库”面板中的声音名称,然后从上下文菜单中选择“链接”。

  3. 在“链接属性”对话框中的“链接”下,选择“为 ActionScript 导出”。

  4. 在文本框中输入一个标识字符串,然后单击“确定”。

关于 ActionScript 2.0 onSoundComplete 事件

使用 ActionScript 2.0 Sound 对象的 onSoundComplete 事件可以在附加的声音文件结束时在 FlashProfessional 应用程序中触发一个事件。Sound 对象是一个内置的对象,使您可以控制 FlashProfessional 应用程序中的声音。有关详细信息,请参阅《ActionScript 2.0 语言参考》中的“声音”。附加的声音文件结束播放时,将自动调用 Sound 对象的 onSoundComplete 事件。 如果声音循环播放指定次数,则声音停止循环播放时将触发该事件。

Sound 对象有两个可与 onSoundComplete 事件结合使用的属性。 duration 属性是一个只读属性,表示附加到声音对象的声音样本的持续时间(以毫秒为单位)。 position 属性是一个只读属性,表示在每个循环中声音已播放的毫秒数。

使用 onSoundComplete 事件可以用多种方式处理声音,例如:

  • 创建动态的播放列表或音序器

  • 创建多媒体演示文稿,在进入下一个帧或场景前检查叙述是否结束

  • 建立游戏,让声音和特定的事件或场景同步,并在不同的声音之间平滑地过渡

  • 将图像变换与声音同步,例如当声音播放到一半时变换图像

用 Flash Player 访问 mp3 文件中的 ID3 属性

Adobe 的 Macromedia Flash Player 7 及更高版本支持 ID3 v2.4 和 v2.4 标记。 在此版本中,使用 ActionScript 2.0 attachSound()loadSound() 方法加载 mp3 声音时,声音数据流的开始处就提供 ID3 标签属性。 onID3 事件在初始化 ID3 数据时执行。

Flash Player 6 (6.0.40.0) 和更高版本都支持带 ID3 v1.0 和 v1.1 标记的 mp3 文件。 使用 ID3 v1.0 和 v1.1 标记,属性在数据流的结束位置提供。 如果声音不包含 ID3v1 标签,则 ID3 属性将是未定义的。 用户必须安装 Flash Player 6 (6.0.40.0) 或更高版本,才能使 ID3 属性正常工作。

有关使用 ID3 属性的详细信息,请参阅《ActionScript 2.0 语言参考》中的 id3Sound.id3 属性)。

,