在源中播放带有井号的音频不起作用
Playing audio with pound sign in the source doesn't work
我正在尝试播放源中带有井号的音频文件,但是当我尝试使用 new Audio()
对象播放音频文件时 JavaScript 出现此错误。
NotSupportedError: The media resource indicated by the src attribute or assigned media provider object was not suitable.
下面是创建音频对象并播放它的函数。我将参数 note
输出到控制台,以确保指定了正确的路径,而不仅仅是文件注释发现错误(双关语)。我尝试将参数 note
中的 #
替换为 \#
,但这没有做任何事情(没想到会这样,但在寻求帮助之前值得尝试)。
其他使用的文件在GitHub上,如果您需要查看它们。
/*
* Author: Adam Oates
* Created: 2/7/2019
* Filename: main.js
*
*/
function playNote(note) {
let audio = new Audio();
audio.src = "res/tones/" + note + ".mp3";
console.log("res/tones/" + note + ".mp3");
audio.play();
}
$(document).ready(function() {
let pdo = new PianoDream();
// plan to have different piano layouts in the future
$("main").load("res/layouts/defaultLayout.html", function() {
$("div.key").on("click", function() {
console.log($(this).text());
playNote($(this).text());
});
});
});
对于其他疑惑的人:正如 Alohci 所指出的,我必须 URL 对字符进行编码。然后井号在 URL 中变为 %23
。 JavaScript 实际上有一个名为 encodeURIComponent()
的函数可以为您编码字符。
您可以在此处查看列表或 URL 编码字符:
https://www.w3schools.com/tags/ref_urlencode.asp
我正在尝试播放源中带有井号的音频文件,但是当我尝试使用 new Audio()
对象播放音频文件时 JavaScript 出现此错误。
NotSupportedError: The media resource indicated by the src attribute or assigned media provider object was not suitable.
下面是创建音频对象并播放它的函数。我将参数 note
输出到控制台,以确保指定了正确的路径,而不仅仅是文件注释发现错误(双关语)。我尝试将参数 note
中的 #
替换为 \#
,但这没有做任何事情(没想到会这样,但在寻求帮助之前值得尝试)。
其他使用的文件在GitHub上,如果您需要查看它们。
/*
* Author: Adam Oates
* Created: 2/7/2019
* Filename: main.js
*
*/
function playNote(note) {
let audio = new Audio();
audio.src = "res/tones/" + note + ".mp3";
console.log("res/tones/" + note + ".mp3");
audio.play();
}
$(document).ready(function() {
let pdo = new PianoDream();
// plan to have different piano layouts in the future
$("main").load("res/layouts/defaultLayout.html", function() {
$("div.key").on("click", function() {
console.log($(this).text());
playNote($(this).text());
});
});
});
对于其他疑惑的人:正如 Alohci 所指出的,我必须 URL 对字符进行编码。然后井号在 URL 中变为 %23
。 JavaScript 实际上有一个名为 encodeURIComponent()
的函数可以为您编码字符。
您可以在此处查看列表或 URL 编码字符: https://www.w3schools.com/tags/ref_urlencode.asp