在 javascript 中播放声音

问题描述 投票:0回答:4

所以我将声音文件放在代码目录的子文件夹中,每当我尝试播放它时,它都会说找不到它。

这是我的代码:

PlaySound = function () {
    var audio = new Audio('~/Content/Sound/Down.mp3');
    audio.loop = false;
    audio.play(); 
}

有人知道为什么吗?

这是我检查时遇到的错误:

GET http://localhost:5/~/Content/Sound/Down.mp3 
localhost/:1 Uncaught (in promise) DOMException: Failed to load 
because no supported source was found.
javascript mp3
4个回答
9
投票

将声音文件放入 HTML 文件所在的相同目录中。

此后,此代码不应给您任何错误:

PlaySound = function () {
    var audio = new Audio('Down.mp3');
    audio.loop = false;
    audio.play(); 
}

您的浏览器必须能够访问音频文件,因此如果您访问

http://localhost:5/~/Content/Sound/Down.mp3
,它实际上应该打开该文件


1
投票

尝试给出绝对路径而不是相对路径。

使用:

./Content/Sound/Down.mp3

或者这个:

/Content/Sound/Down.mp3


0
投票

为什么不使用 html5 音频标签

<audio controls>
  <source src="sample.ogg" type="audio/ogg">
  <source src="sample.mp3" type="audio/mpeg">
</audio>

0
投票

我认为答案是在用户与窗口交互之前你无法播放音频,你需要在按钮或类似的东西中执行可点击的 PlaySound 功能

© www.soinside.com 2019 - 2024. All rights reserved.