<audio id="errAudio">
<source :src="require('../../assets/audio/scan_err.wav')" />
</audio>
通过require引入本地的音频文件,通过调用play()方法实现播放
let mp3 = document.getElementById('errAudio');
mp3.play()
出现在本地可以正常播放音频文件,但是打包上线以后,没有声音,在控制台Network里查看资源加载的路径发现是 undefined
解决方法:直接通过js调用线上的音频路径
let mp3 = document.getElementById('errAudio');
mp3.src = '/dist/media/scan_err.wav';
mp3.play();
此方法可以解决线上播放不了的问题,但是不是根本解决方案
更新:
根本问题:因为vue.config.js里面的
publicPath: '/'
更改为
publicPath: './',
如果实在更改不了又要使用动态导入的方法:
let mp3 = document.getElementById('errAudio');
mp3.src = `/dist${require('@/assets/audio/scan_err.wav')}`;
mp3.play();
这样的话缺点是,本地音频没有声音,线上可以正常播放
版权声明:本文为weixin_46194350原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。