使用JS的input框实现音频文件的上传与播放功能
<input type="file" accept="audio/*" @change="handleFileChange">
<audio ref="audioPlayer" controls></audio>
type="file":指定为文件上传类型。accept="audio/*":限制上传文件类型为音频。@change="handleFileChange":绑定 change 事件,当用户选择文件后触发。ref="audioPlayer":用于在 JavaScript 中引用该元素。controls:显示音频播放控件。
<script>
export default {
data() {
return {
audioUrl: null
};
},
methods: {
handleFileChange(event) {
const file = event.target.files[0];
const reader = new FileReader();
reader.onload = (e) => {
this.audioUrl = e.target.result;
this.$refs.audioPlayer.src = this.audioUrl;
};
reader.readAsDataURL(file);
}
}
}
</script>
handleFileChange 方法。handleFileChange 方法:
onload 事件处理函数:
audioUrl。audioUrl 赋值给 audio 标签的 src 属性,实现音频播放。
<template>
<input type="file" accept="audio/*" @change="handleFileChange">
<audio ref="audioPlayer" controls :src="audioUrl"></audio>
</template>
<script>
export default {
data() {
return {
audioUrl: null
};
},
methods: {
handleFileChange(event) {
const file = event.target.files[0];
const reader = new FileReader();
reader.onload = (e) => {
this.audioUrl = e.target.result;
};
reader.readAsDataURL(file);
}
}
}
</script>
src 属性指定音频源。audioUrl 与 audio 标签的 src 属性绑定,实现动态更新。accept 属性限制上传的音频格式,例如 accept="audio/mpeg,audio/wav"。handleFileChange 方法中添加文件大小判断。FileReader 的 onprogress 事件实现上传进度显示。通过以上步骤,你就可以在 Vue 项目中实现基本的音频上传和播放功能了。
《无所畏惧》温莉的结局是什么
时间:2023-11-25
《无所畏惧》刘铭的结局是什么
时间:2023-11-25
《无所畏惧》罗英子和陈硕最后在一起了吗
时间:2023-11-25
《宁安如梦》 姜雪宁是如何设计让薛姝去和亲
时间:2023-11-25
《宁安如梦》薛姝为了不和亲做了什么
时间:2023-11-25
《宁安如梦》为什么姜雪蕙只能当侧妃
时间:2023-11-25