vue中添加mp3音频文件

时间:2022-12-08 03:56:48

有的时候我们需要在vue中添加音频文件,但是直接将音频文件放置了assets目录下的时候,会发现并不能正常播放,下面是两种常用的配置方法:

方法一、将音频文件放置在static目录中,然后进行调用,如下所示

<audio class="success" 
src="/static/audios/do_wrong.mp3">

</audio>

以上这种方式就能够解决这个问题了。

方法二、给项目配置mp3格式的解析器
1、在webpack.base.conf.js中添加加载器,如下

{
test: /\.(mp3)(\?.*)?$/,
loader: 'url-loader',
options: {
name: utils.assetsPath('assets/[name].[hash:7].[ext]')
}
}

2、在vue-loader.conf.js文件为audio的src属性添加转换属性选项,让 vue-loader 知道需要将 audio 的 src 属性的内容转换为模块。

var utils = require('./utils')
var config = require('../config')
var isProduction = process.env.NODE_ENV === 'production'

module.exports = {
loaders: utils.cssLoaders({
sourceMap: isProduction
? config.build.productionSourceMap
: config.dev.cssSourceMap,
extract: isProduction
}),
transformToRequire: {
"audio": "src"
}
}

3、添加audio标签,引入资源文件

<audio autoplay="autoplay" 
controls="controls"
preload="auto"
src="../assets/allright.mp3">

</audio>

此时的资源文件放置在assets目录下即可。
4、重新启动项目或者打包发布,即可听到声音。

更多细节可以参考:
https://zhuanlan.zhihu.com/p/26038486?refer=think-in-vue