4 回复
搞定了么
录制通话录音 插件,可以做,
qq :1196097915
支持Android13、通话状态监听、通话录音文件获取、通话自动录音、通话记录获取:https://ext.dcloud.net.cn/plugin?id=11480
针对uni-app通话录音插件的需求,我们可以使用H5+ API来实现录音功能,因为uni-app原生支持HTML5+扩展API,这些API提供了丰富的设备访问能力,包括录音功能。以下是一个基本的录音功能实现示例,适用于uni-app项目。
首先,确保你的项目已经配置了manifest.json
中的5+ App
权限设置,允许录音权限:
"permissions": {
"RecordAudio": {
"desc": "录音"
}
}
接下来,在需要录音的页面中,我们可以使用plus.recorder.createRecorder
方法来创建一个录音对象,并监听相关事件。以下是一个完整的录音功能实现代码示例:
<template>
<view>
<button @click="startRecording">开始录音</button>
<button @click="stopRecording" :disabled="!isRecording">停止录音</button>
<audio :src="audioSrc" controls v-if="audioSrc"></audio>
</view>
</template>
<script>
export default {
data() {
return {
recorder: null,
isRecording: false,
audioSrc: ''
};
},
methods: {
startRecording() {
if (this.isRecording) return;
this.isRecording = true;
this.recorder = plus.recorder.createRecorder({
filename: '_doc/record.mp3', // 录音文件保存路径
format: 'mp3' // 录音文件格式
});
this.recorder.start({
success: () => {
console.log('录音开始');
},
fail: (e) => {
console.error('录音失败:', e);
}
});
this.recorder.on('statechange', (e) => {
if (e.newState === 3) { // 录音结束状态
this.stopRecording();
}
});
},
stopRecording() {
if (!this.isRecording) return;
this.isRecording = false;
this.recorder.stop({
success: (e) => {
console.log('录音停止:', e);
this.audioSrc = '_www/' + e.filename; // 获取录音文件路径并设置为音频源
},
fail: (e) => {
console.error('停止录音失败:', e);
}
});
}
}
};
</script>
<style scoped>
/* 添加你的样式 */
</style>
上述代码创建了一个简单的录音界面,包含开始录音和停止录音两个按钮,以及一个用于播放录音的音频控件。录音文件保存在应用的_doc
目录下,并以mp3
格式存储。录音完成后,音频控件将自动加载并播放录音文件。
请注意,上述代码示例基于HTML5+ API,在HBuilderX IDE中运行效果最佳,因为HBuilderX对HTML5+ API有完整的支持。在其他环境中可能需要额外的适配工作。