1

我试过使用:

  1. createjs.Sound.pause;

  2. mySound.stop();

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

这是我使用的soundjs。 声音

我的代码与它的源代码完全相同。谢谢你的帮助!

根据 Stephen Lightcap 的回答,我最终会这样做:

头标签内的Javascript:

    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>

body 标签内的按钮:

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

按钮 onclick 的 Javascript。置于按钮下方。:

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

但我收到一条错误消息:

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

4

1 回答 1

0

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

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

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

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

JS函数:

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

编辑

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

以下是它如何为我工作的粗略概述:

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

于 2017-04-28T04:21:15.303 回答