<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>
网友回复


