“未捕获(在承诺中)DOMException:无法加载,因为在播放带有特殊字符的音频时未找到支持的源”

时间:2017-07-22 05:52:50

标签: javascript audio promise domexception

我正在从我页面中的某个文件夹中播放一些音频,其中大多数都没有任何问题,但是当播放名为“jär”的文件时,我收到此错误:

Uncaught (in promise) DOMException: Failed to load because no supported source was found.

我不知道它是否与我的网络浏览器有关,我在Chrome上运行我的项目。我正在使用JavaScript和JQuery

错误仅发生在名称上带有某种重音或特殊字符的文件(如ä)。当然,我想做的就是播放这样的音频而不管它的名字。任何帮助表示赞赏。非常感谢你。

2 个答案:

答案 0 :(得分:2)

最有可能发生的事情是您的浏览器无法解析带有Unicode字符的网址。在提取媒体文件时,请尝试将其包装在encodeURIComponent()中。这将根据适当的约定格式化URI,使用特殊字符的百分比编码。例如,jär变为j%C3%A4r



x = 'jär'
console.log(x)
console.log(encodeURIComponent(x))




答案 1 :(得分:1)

只是想让你知道我终于解决了我的问题,似乎我必须对ISO 8859上的值进行编码,所以我所要做的就是将值包装在一个转义句中,如:

var encode = escape("jär")

就是这样。它就像一个魅力。我希望这个解决方案可以帮助其他任何有此问题的人。