12.1.6 追踪音频进度

  SoundChannel是播放中声音的控制手段。可以利用SoundChannel对象停止一个声音的播放。没有直接提供暂停和继续的方法,因为声音文件的播放启动并不需要耗费额外的资源,而一个播放中的SoundChannel对象是耗费资源的。没有必要在声音不播放时依然提供资源维系SoundChannel对象(至少可以避免多余的噪音信号)。为了实现一个声音的暂停和继续,需要重新调用一个Sound对象的play()方法。但是该方法可以从指定的位置开始播放,因此,只要将SoundChannel.position作为参数提供,就能够实现暂停/继续的功能。

下面的代码演示了暂停/继续功能的代码实现:

stage.addEventListener(KeyboardEvent.KEY_UPkeyfunc);

 

function keyfunc(eev:KeyboardEvent):void {

         //构建字符串

         var tstr:String=String.fromCharCode(eev.charCode);

         switch (tstr) {

                   //停止

                  case "1" :

                            sndchannel.stop();

                            sdtf.text="Stop";

                            sndchecker.stop();

                            break;

                   //播放

                  case "2" :

                            sndchannel=mysound.play(sndchannel.position);

                            sndchecker.start();

                            break;

                  default :

                            //donothing;

         }

}

读者可以尝试多次运行Sound对象的play()方法,创建混合的声音输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值