我在Adobe论坛上找到了一些关于在" flash html5 mycanva.fla"中编写MouseOver的问题的答案。在悬停按钮时触发声音。 see here
问题是,我坚持使用" MouseOut功能"当鼠标按下按钮时停止播放的声音!
顶部的樱桃将暂停鼠标输出上的声音,并从再次鼠标悬停时暂停播放。但我不想显得太贪心; - )
这是我在my_flash_canva.fla中使用的代码:
var frequency = 3;
stage.enableMouseOver(frequency);
this.mybutton.addEventListener("mouseover", fl_MouseOverHandler);
function fl_MouseOverHandler(){
playSound("monstres");
//linked sound from library by dble clicking on it and named a link in the blank area.Indeed, the action script panel in "mysound" properties panel is greyed..
//works like a charm
}
this.mybutton.addEventListener("mouseout", fl_MouseOutHandler);
function fl_MouseOutHandler() {
stopSound("monstres");
// doesn't work
}
使用闪光灯亲CC 2014年我想我一定是失去了一些东西还是坏syntaxing,但在我心中是什么与playSound工作(" XXX")应与stopSound(&#34工作; XXX&#34 ;)。但显然它并不那么简单。欢迎任何线索,我将不胜感激。 Thanx很多。
奥利弗。
答案 0 :(得分:1)
你无法以这种方式停止声音。什么是stopSound()
?如果您查看导出的HTML,playSound
是一个使用ID播放声音的函数。它应该返回一个你可以控制的实例。您必须存储该实例,并在其上调用stop()
。
var sound;
function fl_MouseOverHandler(){
sound = playSound("monstres");
}
this.mybutton.addEventListener("mouseout", fl_MouseOutHandler);
function fl_MouseOutHandler() {
sound.stop();
}
您必须修改HTML中生成的playSound
方法以返回播放的实例,因为它当前不会:
function playSound(id, loop) {
return createjs.Sound.play(id, createjs.Sound.INTERRUPT_EARLY, 0, 0, loop);
}
向Adobe报告是件好事,因为它应该已经这样做了。我已经记录了一个bug来做到这一点。 https://github.com/CreateJS/SoundJS/issues/218
[编辑:此修补程序包含在Adobe Animate中]