给soundjs添加暂停功能

Add pause function to soundjs

我试过使用:

  1. createjs.Sound.pause;

  2. mySound.stop();

没有任何效果。现在它有一个停止按钮,但如果按下停止按钮,则不会再次播放声音。

这是我使用的soundjs。 soundjs

我的代码和它的源代码完全一样。感谢您的帮助!

我最终是这样做的 基于 Stephen Lightcap 的回答:

Javascript head 标签内:

    function load() {
        // Update the UI
        document.getElementById("display").innerText = ".";


        // Load the sound
        createjs.Sound.alternateExtensions = ["mp3"];
        createjs.Sound.addEventListener("fileload", handleFileLoad);
        createjs.Sound.registerSound({id:"mySound", src:"../../test.mp3"});
    }

    function handleFileLoad(event) {
        // Update the UI
        document.getElementById("display").innerHTML = ".";
        document.getElementById("stopBtn").disabled = "";

        // Play the loaded sound
        createjs.Sound.play(event.src,{loop:2});

    }
    var instance = createjs.Sound.play(event.src);
</script>

正文标签内的按钮:

<input id="pausBtn" type="button" value="Pause" onclick="pause()"/>

Javascript 用于点击按钮。放置在按钮下方。 :

<script>
function pause(){
instance.pause();
}
</script>

但我收到一条错误消息:

未捕获类型错误:无法读取未定义的 属性 'pause' 暂停 (phkk.html:560) 在 HTMLInputElement.onclick (phkk.html:177)

您可以将其存储在一个 var 中,然后使用函数 pause()

var instance = createjs.Sound.play(event.src);

具有调用将存储暂停的方法的按钮

<input id="pausBtn" type="button" value="Pause" onclick="pause()"/>

JS函数:

function pause(){
    instance.pause();
}

编辑

我查看了文档,它似乎不再像那样工作了,所以你将不得不使用 paused property

以下是它对我的工作原理的粗略概述:

<script>

    var instance; 

    function load() {
        // Update the UI
        document.getElementById("display").innerText = ".";


        // Load the sound
        createjs.Sound.alternateExtensions = ["mp3"];
        createjs.Sound.addEventListener("fileload", handleFileLoad);
        createjs.Sound.registerSound({id:"mySound", src:"../../test.mp3"});
    }

   function handleFileLoad(event) {
       // Update the UI
       document.getElementById("display").innerHTML = ".";
       document.getElementById("stopBtn").disabled = "";

       // Play the loaded sound
       instance = createjs.Sound.play(event.src,{loop:2});

   }

   function pause(){
       instance.paused ? instance.paused = false : instance.paused = true;
   }



</script>

HTML 按钮:

<body>
<input id="loadBtn" type="button" value="Begin Loading" onclick="load()"/>
<input id="stopBtn" type="button" value="Stop Playing" onclick="createjs.Sound.stop();" disabled="disabled" />
    <input id="pauseBtn" type="button" value="Pause" onclick="pause()"/>
<label id="display">Waiting for User Input. Click "Begin Loading".</label>