快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

Flash声音高级篇:NullSound技术-2

  这些结果是有说服力的,如果我们制作一个“无声”版本(所有的动画保持原状,只删除了所有的声音)那么输出文件大小为655kb 。假如我们比较一下两个文件的大小差异的话,结果说明采用str00方法的整个声音文件只占用59kb!!!而采用传统方法的话,音乐文件将占用595kb.

  进一步说明:假如有5到6个2,3秒的声音文件,构成1,2,3分钟甚至更多时间,音乐文件占用的体积将低于70~80k.相对的,假如采用传统方式处理的话,占用文件大小将是1MB甚至更多。

下面介绍一下工作原理:

  str0技术:

  首先,让我们选择一个尽量小的声音文件"NULLSOUND"。这个小的wav文件里面除了静音啥也没有,大概0.1秒长。我们可以用任何声音编辑软件来生成它。 然后我们把这个文件放到timeline里面,然后设置为stream方法,并设置循环次数以便声音一直延长到Flash的结尾。我们只设置这个NULLSOUND文件为stream方法的,其他声音用层来组织,都设置成event方法。这样,我们就可以把stream声音的输出质量设置成足够低(ADPCM 5 kHz 2 bit)同时却不影响整个音乐的音质,因为event方法的声音可以设置高一些比如ADPCM 11 kHz 4 bit. 。

  请看下面的图例:

图1. str0技术里面的主时间线

图2. 时间线里NULLSOUND声音的设置

图3. 导出情况下的stream和event声音音质设置


  我们可以微调一下上面的技术,从而使文件体积更小,就是我们称为str00技术:

  str00技术:

  我们把前面技术中,NULLSOUND的循环次数设置成1次,其他的保持不变。 这项技术是建立在flash的一个有趣的特性基础上的: 假如时间上有个声音文件设置成stream方法,那么flash在播放完这个声音文件后会继承以stream模式播放声音。也就是说,我们可以用这样一个小的NULLSOUND声音文件作为一个开关,使整个播放器用stream模式播放声音。这种stream播放模式可以使用"Stop All Sound"动作来关闭。使用这种方式,我们也可以在影片中灵活的切换stream模式或者是event模式,也就是可以在恒定帧率以及帧率可变模式中切换。

  下面的图例表述了这种str00技术

图4. 主时间线上的NULLSOUND只循环一次

图5. NULLSOUND声音的设置


  str00技术的附带说明:

  str00技术的唯一缺陷在于:假设用户使用独立播放器来播放flash,那么假如用户在播放时候敲回车键,那么flash将停止所有的声音的播放,即使再按回车继承播放,其他声音都能正常播放,而stream的声音将不能播放,因为stream声音的要害帧是在最前面,这样的后果就是播放的stream模式被关闭了,也就是恒定帧率模式被关闭了。要避免这种错误,解决的方式就是安顿一个隐形的按钮来捕抓按键动作:

On ( Key: )
Play
End On

图6. 隐形按钮上的action设置


【译者注】: 该语法为flash4语法,换成flash5以后版本语法如下:

on (keyPress "") {
play();
}


  同样道理,独立播放器里的弹出菜单也应该在开始被禁用:

FS Command ("showmenu", "false")

图7. 禁用弹出菜单的action设置


【译者注】: 该语法为flash4语法,换成flash5以后版本语法如下:

fscommand ("showmenu", "false");

用了以上的设置以后,理论上flash将不会非常停止了。

【译者总结】:

  该项技术应用背景: 背景音效需要多次循环,动画和声音需要保持同步,音质要求高,文件体积要求尽量小的情况下。

  技巧:

  制作动画过程中,可以把所有的声音设置成stream模式,以便调整动画和声音完全匹配。当确声音动画全部匹配以后,再把所有声音设置成event,然后设置nullsound为stream以缩小文件体积。

  有条件的情况下,尽量分割各项音乐元素,提取合并可以循环利用部分,然后利用Flash作为混音器来使用,这样将有效的减少输出文件的大小。
返回类别: Flash教程
上一教程: Flash视频教程:导入声音
下一教程: Flash MX pro的历史面板(一)

您可以阅读与"Flash声音高级篇:NullSound技术-2"相关的教程:
· Flash声音高级篇:NullSound技术-1
· Flash中关于声音的常用命令介绍
· Flash高级技巧:BitmapData.draw方式尝试
· Flash透视技术之鸡蛋里面的世界
· FlashMX 视频教程(41)-导入声音
    微笑服务 优质保证 索取样品