Mp3 Player
2009-05-30 12:07:53 来源:WEB开发网 private var soundChannel:SoundChannel;
下面在 changeSound() 方法中加入判断:
private function changeSound(evt:Event):void {
var url:String = ComboBox(evt.target).selectedItem.url;
if (soundChannel != null) {
soundChannel.stop();
}
var sound:Sound = new Sound(new URLRequest(url));
soundChannel = sound.play();
}
这样就可以了。大家不必担心同一个音乐会被重复播放,因为 ComboBox 会自动判断当前点击的条目是否已被选中,如果是,就不发出响应事件了。
最后再提醒一下,如果出现:
Error #2044: 未处理的 IOErrorEvent:。 text=Error #2032: 流错误。
这样的错误,很有可能是 xml 配置的 url 有问题。对于这种错误最好把错误信息打印出来(需要导入类 import flash.events.IOErrorEvent;):
sound.addEventListener(IOErrorEvent.IO_ERROR, function(e:IOErrorEvent):void{ trace(e); });
这样一来,错误就一目了然了。
四、音量控制
在界面设计时,我们已经把 volume_bar 滑动条放置在舞台上,并且通过参数面板设置其最大值为 1,最小值为 0,每次滑动变化 0.1。在 AS 3 中诸如 scaleX, scaleY, alpha 等原来以 0 ~ 100 为区间的属性,现在都以 0 ~ 1 为区间,我们的音量(volume)属性也是如此。只要拿到volume_bar 滑块的 value,将它赋为音量值即可。
首先在 init 函数中为滑块添加一个侦听器,当滑块滑动后将音量调整为滑块的值:
更多精彩
赞助商链接