闪烁 HTML5 canvas 条件 audio.pause 和恢复功能

Flash HTML5 canvas conditions for audio.pause and resume function

尽管我阅读了很多资料,但我在使用 flash 的 javascipt / soundJS 语法方面仍然受到限制 html5 canvas。我想通过同一个按钮上的 mouseover 和 mouseout 事件暂停和恢复我的声音。我的意思是:

根据 SoundInstance Class doc,您可以使用 myInstance.pause();myInstance.resume(); 方法。我想 "var sound;" 的行为就像 "myInstance" 因为 sound.pause(); 有效。

使用下面的 js 代码我可以暂停声音和恢复声音,但不是在同一个按钮上,我需要一个 button_2 来做到这一点。

我想我在鼠标悬停功能中缺少一个条件来“检查声音是否暂停然后继续播放或开始播放。

var sound;
function fl_MouseOverHandler(){  
    sound = playSound("monstres"); 
}  
this.mybutton.addEventListener("mouseover", fl_MouseOverHandler);  


function fl_MouseOutHandler()  { 
    sound.pause();  
} 
this.mybutton.addEventListener("mouseout", fl_MouseOutHandler);  

function fl_MouseOverHandler_2(){  
    sound.resume();
}  
this.mybutton_2.addEventListener("mouseover", fl_MouseOverHandler_2);

欢迎任何提示或link。谢谢。

这样的事情怎么样?

var isPlaying = false;

function togglePlayback(){
    if(isPlaying){
        isPlaying = false;
        sound.pause();
    } else {
        isPlaying = true;
        sound.resume();
    }
}

this.some_button.addEventListener("some_event", togglePlayback );

你是被派到人间的天使。 同时,我在 javascript 上找到了 dome 文档,并设法使用布尔变量以同样的精神编写了我心爱的函数。 这是我的代码:

var playing = new Boolean(false);

function fl_MouseOverHandler() {
    if (playing == false) {
        exportRoot.soundInstance = playSound("monstres");
        playing = true;
        exportRoot.soundInstance.on("complete", handleComplete);
        function handleLoop(event) {
            exportRoot.soundInstance = playSound("monstres");
        }
    } else {
        exportRoot.soundInstance.resume();
        }
    }
this.bout_zone_son.addEventListener("mouseover", fl_MouseOverHandler);

function fl_MouseOutHandler() {
    exportRoot.soundInstance.pause();
    }

this.bout_zone_son.addEventListener("mouseout", fl_MouseOutHandler);

我不能使用 if (playing) {....} 语法因为:

  • 我必须先用我的按钮触发声音,然后检查它是否正在播放以恢复或启动它。
  • 我想如果不先实例化 "sound = playSound("mylinkedsoundfromlibrary") 我就不能输入 sound.pause"); 或者我的情况 exportRoot.soundInstance = playSound("monstres");

嗯,无论如何,谢谢你在正确的方向上进行了尝试。