Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Flash HTML5画布条件用于audio.pause和resume功能_Javascript_Html_Audio_Html5 Canvas_Soundjs - Fatal编程技术网

Javascript Flash HTML5画布条件用于audio.pause和resume功能

Javascript Flash HTML5画布条件用于audio.pause和resume功能,javascript,html,audio,html5-canvas,soundjs,Javascript,Html,Audio,Html5 Canvas,Soundjs,尽管我读了很多书,但我仍然局限于使用flash html5画布的javascipt/soundJS语法。我想暂停和恢复我的声音与mouseover和mouseout事件在同一个按钮上。我的意思是: 您将鼠标悬停在按钮上:音乐开始 你滑鼠:音乐暂停 再次将其悬停:它将从已暂停的优先位置恢复 根据法律,你可以用 myInstance.pause()和myInstance.resume()方法。我假设“var-sound;”的行为类似于“myInstance”,因为sound.pause()工作

尽管我读了很多书,但我仍然局限于使用flash html5画布的javascipt/soundJS语法。我想暂停和恢复我的声音与mouseover和mouseout事件在同一个按钮上。我的意思是:

  • 您将鼠标悬停在按钮上:音乐开始
  • 你滑鼠:音乐暂停
  • 再次将其悬停:它将从已暂停的优先位置恢复
根据法律,你可以用
myInstance.pause()
myInstance.resume()方法。我假设“var-sound;”的行为类似于“myInstance”,因为
sound.pause()工作

使用下面的js代码,我可以暂停声音并恢复声音,但不是在同一个按钮上,我需要一个按钮2来完成

我想我在mouseover函数中缺少了一个条件,即“检查声音是否暂停,然后继续播放或开始播放”

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);

欢迎任何提示或链接。谢谢。

像这样的东西怎么样

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){….}语法,因为:

  • 我必须先用我的按钮发出声音,然后检查它是否正在播放,以恢复或启动它
  • 我想我不能输入声音。暂停时不先提示“声音=播放声音”(“mylinkedsoundfromlibrary”);或者我的案例exportRoot.soundInstance=playSound(“monstres”)

好吧,不管怎样,thanx都是在正确的方向上拍摄的。

为了使用如您所示的
playSound
方法(Flash生成),您必须修改它。我相信现有函数只调用
createjs.Sound.play(…)
,而不返回生成的实例。它应该返回createjs.Sound.play(…)