<template> <div> <button @click="startRecording">开始录音</button> <button @click="stopRecording">停止录音</button> <button @click="uploadRecording">上传录音</button> </div> </template> <script> export default { data() { return { recorderManager: null, tempFilePath: null }; }, created() { this.recorderManager = uni.getRecorderManager(); // 监听录音完成事件 this.recorderManager.onStop(res => { console.log('录音完成', res); this.tempFilePath = res.tempFilePath; }); }, methods: { startRecording() { this.recorderManager.start({ format: 'mp3', // 录音格式 duration: 600000 // 录音时长,单位为毫秒 }); }, stopRecording() { this.recorderManager.stop(); }, uploadRecording() { if (this.tempFilePath) { uni.uploadFile({ url: 'https://yourserver.com/upload', // 上传服务器的URL filePath: this.tempFilePath, // 录音文件的本地路径 name: 'file', // 服务器接受文件的字段名称 success: uploadRes => { console.log('上传成功', uploadRes.data); }, fail: uploadRes => { console.log('上传失败', uploadRes.errMsg); } }); } else { console.log('请先录音并停止录音'); } } } }; </script>
网友回复