vue动态链入音频资源

项目场景:

在做vue+ts项目时 动态的链入一个音频


动态链入的代码

this.audio = document.querySelector("audio");
this.audio.src = "../../assets/audio/believer.mp3";

运行代码 在控制台报了这样一个错
index.vue?7b5d:400 Uncaught (in promise) DOMException: The element has no supported sources.


原因分析:

vue并没有把"…/…/assets/audio/believer.mp3";当成一个资源文件,而是把它当成了字符串赋值给了audio的src,所以才导致音频没有加载出来还报了一个错误


解决方案:

通过require动态链入资源

let believer = require("../../assets/audio/believer.mp3");

代码:

this.audio.src = believer;
this.audio.load();

运行代码可正常播放
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ifyouwjk/article/details/112723685