【问题标题】:"Uncaught (in promise) DOMException: Failed to load because no supported source was found" when playing an audio with special characters播放带有特殊字符的音频时,“未捕获(承诺)DOMException:加载失败,因为找不到支持的源”
【发布时间】:2017-07-24 08:18:57
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript audio promise domexception


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      var encode = escape("jär")
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-02
        • 2018-06-25
        • 2020-12-30
        • 2016-10-07
        • 1970-01-01
        • 2016-09-10
        • 2019-07-10
        • 2019-11-28
        相关资源
        最近更新 更多