繁体   English   中英

HTML5 Flash Canva无法通过“ mouseout”功能停止我的声音

[英]HTML5 flash canva can't stop my sound with “mouseout” function

我在Adobe论坛上找到了一些有关在“ flash html5 mycanva.fla”中编码MouseOver以在悬停按钮时触发声音的问题的答案。 看这里

关键是,当您停下MouseOut按钮时播放的声音时,我会卡住“ 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  
}  

使用Flash Pro CC2014。我想我肯定缺少某些内容或语法错误,但在我看来playSound(“ xxx”)可以使用stopSound(“ xxx”)。 但是显然这并不那么简单。 任何线索都欢迎,我将不胜感激。 非常感谢。

奥利维尔。

您不能那样停止声音。 什么是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报告这是一件好事,因为它应该已经这样做了。 我已经记录了一个错误来做到这一点。 https://github.com/CreateJS/SoundJS/issues/218

[编辑:此修复程序已包含在Adobe Animate中]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM