HTML5 flash canva 无法使用 "mouseout" 功能阻止我的声音
HTML5 flash canva can't stop my sound with "mouseout" function
我在 Adobe 论坛上找到了一些关于在 "flash html5 mycanva.fla" 中编码 MouseOver 以在悬停按钮时触发声音的问题的答案。 see here
问题是,当你用 MouseOut 按钮停止播放声音时,我被 "MouseOut function" 困住了!
最重要的是在鼠标移出时暂停声音,并在鼠标再次悬停时从暂停点开始播放。但我不想显得太贪心;-)
这是我在 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
}
使用 flash pro cc 2014。我想我一定是遗漏了某些东西或错误的语法,但在我看来,什么适用于 playSound("xxx") 应该适用于 stopSound("xxx") 。但显然并没有那么简单。欢迎任何线索,我将不胜感激。非常感谢。
奥利维尔
你不能那样停止声音。 stopSound()
是什么?如果您查看导出的 HTML,playSound
是一个使用 ID 播放声音的函数。它应该 return 一个你可以控制的实例。您必须存储该实例,并对其调用 stop()
。
var sound;
function fl_MouseOverHandler(){
sound = playSound("monstres");
}
this.mybutton.addEventListener("mouseout", fl_MouseOutHandler);
function fl_MouseOutHandler() {
sound.stop();
}
您必须将 HTML 中生成的 playSound
方法修改为 return 播放的实例,因为它目前没有:
function playSound(id, loop) {
return createjs.Sound.play(id, createjs.Sound.INTERRUPT_EARLY, 0, 0, loop);
}
向 Adobe 报告是一件好事,因为它应该已经这样做了。我已经记录了一个错误来做到这一点。
https://github.com/CreateJS/SoundJS/issues/218
[编辑:此修复已包含在 Adobe Animate 中]
我在 Adobe 论坛上找到了一些关于在 "flash html5 mycanva.fla" 中编码 MouseOver 以在悬停按钮时触发声音的问题的答案。 see here
问题是,当你用 MouseOut 按钮停止播放声音时,我被 "MouseOut function" 困住了!
最重要的是在鼠标移出时暂停声音,并在鼠标再次悬停时从暂停点开始播放。但我不想显得太贪心;-)
这是我在 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
}
使用 flash pro cc 2014。我想我一定是遗漏了某些东西或错误的语法,但在我看来,什么适用于 playSound("xxx") 应该适用于 stopSound("xxx") 。但显然并没有那么简单。欢迎任何线索,我将不胜感激。非常感谢。
奥利维尔
你不能那样停止声音。 stopSound()
是什么?如果您查看导出的 HTML,playSound
是一个使用 ID 播放声音的函数。它应该 return 一个你可以控制的实例。您必须存储该实例,并对其调用 stop()
。
var sound;
function fl_MouseOverHandler(){
sound = playSound("monstres");
}
this.mybutton.addEventListener("mouseout", fl_MouseOutHandler);
function fl_MouseOutHandler() {
sound.stop();
}
您必须将 HTML 中生成的 playSound
方法修改为 return 播放的实例,因为它目前没有:
function playSound(id, loop) {
return createjs.Sound.play(id, createjs.Sound.INTERRUPT_EARLY, 0, 0, loop);
}
向 Adobe 报告是一件好事,因为它应该已经这样做了。我已经记录了一个错误来做到这一点。 https://github.com/CreateJS/SoundJS/issues/218
[编辑:此修复已包含在 Adobe Animate 中]