<template>
<view class="">
<view>
<button @tap="startRecord">开始录音</button>
<button @tap="endRecord">停止录音</button>
<button @tap="playVoice">播放录音</button>
</view>
<button @tap="junp">选择文件</button>
<!-- <luch-audio
v-if="voicePath"
:src="voicePath"
:play.sync="audioPlayNew"
></luch-audio> -->
</view>
</template>
<script>
const recorderManager = uni.getRecorderManager();
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
export default {
data() {
return {
text: 'uni-app',
voicePath: '',
url: ''
};
},
onLoad() {
let self = this;
recorderManager.onStop(function(res) {
console.log('recorder stop' + JSON.stringify(res));
self.voicePath = res.tempFilePath;
self.downloadFile(res.tempFilePath);
});
},
methods: {
junp() {
uni.navigateTo({
url: '../xuanze/xuanze'
});
},
startRecord() {
console.log('开始录音');
recorderManager.start();
},
endRecord() {
console.log('录音结束');
recorderManager.stop();
},
playVoice() {
console.log('播放录音');
if (this.voicePath) {
innerAudioContext.src = this.voicePath;
innerAudioContext.play();
}
},
downloadFile(url) {
console.log(url);
const downloadTask = uni.downloadFile({
url: url, //文件链接
success: res => {
if (res.statusCode === 200) {
uni.saveFile({
tempFilePath: res.tempFilePath,
success: red => {
console.log(1, red.savedFilePath);
uni.showToast({
icon: 'none',
mask: true,
title: '文件已保存:' + red.savedFilePath, //保存路径
duration: 3000
});
setTimeout(() => {
//打开文档查看
uni.openDocument({
filePath: red.savedFilePath,
success: function(res) {
console.log('打开文档成功');
}
});
}, 3000);
}
});
}
},
fail: err => {
uni.showToast({
icon: 'none',
mask: true,
title: '失败请重新下载'
});
}
});
}
// //*** 先删除本地文件
// deleteFile(url) {
// uni.getSavedFileList({
// success:(res)=> {
// if (res.fileList.length > 0) {
// uni.removeSavedFile({
// filePath: res.fileList[0].filePath,
// complete: function(res) {
// this.downloadFile(url)
// }
// });
// } else{
// this.downloadFile(url)
// }
// }
// });
// },
// //*** 再下载文件
// downloadFile(url){
// uni.downloadFile({
// url: url, //下载地址接口返回
// success: (data) => {
// if (data.statusCode === 200) {
// //文件保存到本地
// uni.saveFile({
// tempFilePath: data.tempFilePath, //临时路径
// success: function(res) {
// // this.url = res.savedFilePath;
// uni.setStorageSync('url', res.savedFilePath);
// }
// });
// }
// },
// fail: (err) => {
// uni.showToast({
// icon: 'none',
// mask: true,
// title: '失败请重新下载',
// });
// },
// });
// },
}
};
</script>
<style>
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.logo {
height: 200rpx;
width: 200rpx;
margin-top: 200rpx;
margin-left: auto;
margin-right: auto;
margin-bottom: 50rpx;
}
.text-area {
display: flex;
justify-content: center;
}
.title {
font-size: 36rpx;
color: #8f8f94;
}
</style>
uniapp录音功能
最新推荐文章于 2024-08-29 16:42:16 发布