【问题标题】:How to play a sound with JS? [duplicate]如何用 JS 播放声音? [复制]
【发布时间】:2011-11-29 01:40:50
【问题描述】:

可能重复:
Playing sound notifications using Javascript?

我正在用 JS 制作游戏,我需要一种适当的方式来在发生某些事情时播放声音。你如何用 JS/HTML5 做到这一点?我看到了this 的文章,但即使有他们的example,它也不起作用!有时我确实听到了那只鸟的声音,但只是很短的时间,然后我就无法让它继续工作了。

【问题讨论】:

    标签: javascript html audio


    【解决方案1】:

    您可以使用 HTML5 <audio> 标签:http://jsfiddle.net/STTnr/

    var audio = document.getElementById('audio');
    
    setTimeout(function() {
        audio.play();        // play it through JavaScript after 3 seconds
    }, 3000);
    

    HTML:

    <audio src="something" id="audio"></audio>
    

    只需隐藏元素本身:

    #audio {
        display: none;
    }
    

    请注意no browser supports all formats。这可能令人沮丧,但您可以提供多种格式的音频。

    【讨论】:

    • 非常感谢,请问为什么声音不能播放多次?
    • @bane:如果您的意思是循环,请尝试添加loop 属性,例如&lt;audio loop ...&gt;
    • 不,不是那样,我需要在播放器做某事时播放声音,但它只在第一次播放!
    • @bane:哦,我明白了。好吧,您可以将搜索器放在开头并再次播放:jsfiddle.net/STTnr/2
    • @bane:也许您使用的是 Google Chrome,其中不支持 .wav(请查看我发布链接的文章)。
    【解决方案2】:

    HTML5 具有新的&lt;audio&gt;-Tag,可用于播放声音。它甚至还有一个非常简单的 JavaScript 接口:

    <audio id="sound1" src="yoursound.mp3" preload="auto"></audio>
    <button onclick="document.getElementById('sound1').play();">Play it</button>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多