日期:2013-3-31 浏览次数:20195次

  同 Macromedia Flash 改变了我们体验 Web 的方式一样,Macromedia Flash Lite 对移动设备起到了同样的作用。音效是这种丰富式体验的一部分。事实上,音效是任何移动设备不可分割的一部分,它提供警告、铃声、音频提示和多种娱乐使用中的背景音乐。在本文中,我将为您介绍 killersound 技巧 - 一种在 Flash Lite 1.1 中使用音效的创新方法(该方法同样适用于在桌面上使用 Flash)。使用本技巧,您能够将数字音频的文件大小缩小最多 70%。它还提供了多种听觉体验,而不仅仅是简单的音频回放。本技巧对于需要较长背景音乐的产品(例如游戏)尤其有用。事实上,需要的音乐越长,就越能从本技巧中受益。

   请注意,本教程使用数字音频文件(WAV 或 MP3),而不是 MIDI 文件。由于数字音频的文件大小和对处理能力的较高要求,并非所有具有 Flash 功能的移动设备都支持数字音频。但是,到本文出版时,很可能大多数新的移动设备将通过使用更好的硬件(扬声器)、更多内存和更快的处理器支持数字音频。同时,我确信 Flash Lite 的下一版本将会使用这一逐渐完善的技术来交付更为丰富的移动体验。

  教程和示例文件:layering_audio.zip(ZIP, 3.6 MB)

  必备知识:中等的 Flash 知识,尤其是在 Flash 中使用音频的知识,将有所帮助。

  到目前为止,MIDI 一直是移动设备上的标准声音格式。虽然这种格式很简单,但它在音质和能够产生的音效数量和类型上非常有限。通过 MIDI 产生的音效取决于作为移动设备芯片一部分的波形表。与数字音频不同,MIDI 文件中不包含任何声音,它包含的是一套指令,用以触发手机芯片内的音效。相反,数字音频包含了声音本身,这声音可以是广播、语音或者震动音。数字音频的音质取决于录音或存储时的采样率。我们大多数人都对 MP3 数字音频格式很熟悉。比特率或采样率越高,音质就越好。但是,较高的比特率也意味着文件更大。

   本文说明的技巧涉及数字音频文件的分层,可为数字音乐人所采用。在 Flash 中,您可以重用视觉元素,从而避免增大导出的 SWF 电影,对音频也可以这样做。通过导入单独的元素或乐曲的一部分(低音、鼓点等等),将它们放置在不同的层上,以及使用 Flash 中的音效工具,您可以创造出音乐变换的假象。本技巧还给设计者以自由度和灵活性,使其能够组合音乐使之与产品中的视觉元素相匹配。要利用本技巧,您必须准备好您要使用的音乐中的所有元素。目前,您可以通过授权方式使用已经被分解为各个组成部分的音乐,也可以使用流行的软件产品来创作自己的音乐。

  首先下载并展开与本教程配套的 layering_audio.zip 存档文件。该文件中有一个 FLA 文件,两个 SWF 文件和一个名为 silent.wav 的文件。

   打开 C0064.fla 文件。在 Stage 上的是图 1 中所示的图像。文件由四部分组成 - 小提琴、大提琴、吉他和钢琴。如果进入 Library,您可以单独聆听各个部分。所有四个部分都在名为 Musical Elements 的文件夹中。在本教程中,您将制作一个 Flash Lite SWF 电影并使之运行于 Nokia 6600 手机上。

  注意:您可以从 David Mannl’s Flash Lite* 网站获取各种移动设备的最新的预先配置过的模板。这些模板已设置为正确的屏幕尺寸。

图 1:C0064.fla 文件包含四个部分。

  每个部分单独录制和优化,并作为独立的声音文件导入 Flash。为使音效在自己的层正确播放并与其它音效合成,所有的音效文件必须具有相同的长度,或者彼此之间的比例相同。在本例中,所有四个部分具有相同的长度。彩色块代表这些部分在时间线上播放的实例。如果您在 Flash 应用程序中运行电影,您将在各部分播放时听到音乐。

   图 2 显示了 Flash 时间线。每一部分都有自己的一层,除了 silent 层,其它各层都开始于同一个关键帧(第 16 帧),稍后将谈到。所有音乐元素在同一关键帧开始非常重要。后面将对此详细解释。

图 2:在时间线上,每个部分都有自己的一层,并开始同一个关键帧。

  导出至 Flash Lite 时,最好不要马上开始音效,应提供多个空白帧来缓存数据。某些处理器较慢的设备开始显示内容需要一秒钟左右的时间;因此,如果音频开始的过快,开始部分可能会被截掉。

  设置和编辑声音封装点

   现在,前往 strings - event 层,并点击嵌入声音的第 16 帧。在 Frame Properties 窗口中,您可以看到附带的音效名为 C0064strings.wav,该音效重复 10 次。单击 Edit 按钮,打开 Edit Envelope 窗口。单击 Frames 按钮(右下方)将时间线刻度从秒转换为帧。(使用该窗口底部的缩放按钮)一直缩小,直到看到应用于此部分的六个封装点(见图 3)。

图 3:您可以应用封装点(小方块)来改变音效的音量。

  在声音窗口中显示为小方块的封装点是音量点。您可以单击或拖动这些点来创建音量效果。您可以为各个声音层调整合适的音量水平,以获得最佳的合成音量。声音窗口中的两个窗口代表左右声道。除非要创建声音漂移之类的特效,否则应确保在两个窗口中镜像动作。

   您可以看到,在 C0064strings.wav 循环播放两次后,使用封装点进行了一次快速的逐步淡出。这一部分保持无声状态,直至第五个实例或循环播放。将第五个实例开始处的那一点放大至最大(见图 4)。这应该位于第 399 帧附件。您可以在采样视图和时间视图之间切换(窗口底部缩放按钮右侧的两个按钮)。封装点在第五个实例或循环开始处设置。使用这一技巧时,需要达到这样的精确度,才能确保流畅的合成。

图 4:放大至最大,以准确地操作封装点。

  现在,来看看其它各层,以及封装点在其上的应用方式。例如,小提琴部分的封装点并未设至最大,因为您不希望小提琴的声音喧宾夺主。这种合成只是诸多可能性之一。例如,您可以选择开始音乐时只有吉他,然后在加入大提琴部分,依此类推。合成中的部分越多,就有越多的可能性。但是,声音的层数是有限制的。我建议在 Flash Lite 中最多使用超过四到五层。随着技术的进步,移动设备和 Flash Lite 播放器更加健壮,这种限制可能不再存在。还应记住的是,目前,对于某个具体关键帧中的任何声音,最多只能应用八个封装点 - 因此,聪明并有创造性地使用它们。