3

我想在我的网站上添加背景音乐。我试过这个JS代码:

var sound;
function initialAudio() {
    'use strict';
    sound = new Audio();
    sound.src = '../audio/test.mp3';
    sound.loop = true;
    sound.play();
}
window.addEventListener("load", initialAudio);

我已经链接了 JS 和 HTML,但是当我打开网站时,声音没有播放。你能帮我么?

4

5 回答 5

1

你需要在你的 html 中使用一个音频元素,这是怎么做的。

<!DOCTYPE html>
<html>
<body>

<audio id="audioContainer">
  <source src="myMp3.mp3" type="audio/mpeg">
</audio>

<p>Click the buttons to play or pause the audio.</p>

<button onclick="playMp3()" type="button">Play Mp3</button>
<button onclick="pauseMp3()" type="button">Pause Mp3</button> 

<script>
const audioContainer = document.getElementById("audioContainer"); 

function playMp3() { 
  audioContainer.play(); 
} 

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

</body>
</html>
于 2018-12-31T14:13:06.290 回答
1

有一个名为HOWLER.JS的 JavaScript 音频库,它非常易于使用。包括这个脚本文件:

<script src = "https://cdnjs.cloudflare.com/ajax/libs/howler/2.1.1/howler.js"></script>
  • 将此代码段添加到您的 html 中:

    var sound = new Howl({
        src: ['../audio/test.mp3'],
        autoplay: true,
        loop: true,
        volume: 0.5,
    });
    
    sound.play();
    

欲了解更多信息,请访问: HOWLER.JS 文档

于 2019-01-01T11:59:08.480 回答
1

现代浏览器将拒绝在没有用户交互的情况下播放任何声音。如果从用户事件(如 onclick)开始,您的代码应该可以正常工作。

于 2021-12-02T14:38:54.727 回答
0

只需使用带有自动播放属性的 HTML5 音频元素。正如评论中提到的,浏览器对 的支持autoplay很薄弱(有充分的理由),但它在 Firefox 中对我有用。

<audio autoplay loop>
  <source src="http://soundbible.com/grab.php?id=464&type=wav"></source>
</audio>

如果您希望用户能够暂停音频,只需添加一个controls属性:

<audio autoplay controls loop>
  <source src="http://soundbible.com/grab.php?id=464&type=wav"></source>
</audio>

您还可以使用 JS 在页面播放/暂停的其他位置设置按钮,如另一个答案中使用的那样。

于 2018-12-31T17:07:18.920 回答
0

如果你已经这样做了:

var sound = new Audio('sounds/tom-3.mp3');

sound.play();

这在我的情况下不起作用,所以我这样做了:

 var sound = new Audio('sounds\\\tom-3.mp3');

 sound.play();
于 2021-05-07T06:45:08.863 回答