闪烁 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");
嗯,无论如何,谢谢你在正确的方向上进行了尝试。
尽管我阅读了很多资料,但我在使用 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");
嗯,无论如何,谢谢你在正确的方向上进行了尝试。