gpt4 book ai didi

javascript - HTML5 flash canva 无法通过 "mouseout"函数停止我的声音

转载 作者:行者123 更新时间:2023-12-03 08:21:35 25 4
gpt4 key购买 nike

我在 Adob​​e 论坛上找到了关于在“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
}

使用 flash pro cc 2014。我想我一定是遗漏了某些东西或语法错误,但在我看来,与 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);
}

向 Adob​​e 报告这是一件好事,因为它应该已经这样做了。我已经记录了一个错误来做到这一点。 https://github.com/CreateJS/SoundJS/issues/218

[编辑:此修复已包含在 Adob​​e Animate 中]

关于javascript - HTML5 flash canva 无法通过 "mouseout"函数停止我的声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33728558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com