我们把前面技术中,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(); }