更新记录
1.0.0(2026-03-18)
自定义录音,录音数据pcm实时回调,保存本地文件,转国标G711,转base64
平台兼容性
uni-app(3.7.0)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| - |
- |
- |
- |
√ |
√ |
√ |
√ |
- |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| - |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
uni-app x(3.7.0)
| Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
| - |
- |
√ |
√ |
- |
- |
其他
自定义录音,录音数据pcm实时回调,保存本地文件,转国标G711,转base64
功能
- 自定义录音
- 录音数据实时帧回调
- 保存本地文件
- 转国标G711,转base64
集成步骤
- 拷贝demo里的AndroidManifest.xml、Info.plist、harmony-configs文件到项目根目录
- 本页面右上角可以点击"使用HBuilderX导入示例项目"下载demo,导入demo的时候选vue3,插件支持vue2和vue3
- 如需定制或增加功能请点击插件标题下方的"进入交流群"私聊作者
pcm
接口
import {
UTSAudio,
getFilesDir
} from "@/uni_modules/wrs-uts-audio"
// 设置录音回调
audio.onCallback((resp) => {
let opt = resp.opt
switch (opt) {
case "onRecording": {
// 录音实时数据回调
// console.log("audioData:" + JSON.stringify(resp))
let originData = resp.originData
let g711Data = resp.g711Data
if(g711Data) {
console.log("g711adata")
}
let base64 = resp.base64
if(base64) {
console.log("base64")
}
}
break;
case "onRecordFinish": {
// 录音完成回调
let flag = resp.flag
if (flag) {
this.current.src = resp.filePath
this.showMsg("录音完成filePath:" + this.current.src)
} else {
this.showMsg("失败 code:" + resp.code + " msg: " + resp.msg)
}
}
break;
default:
break;
}
})
let imageName = getUserName()
let filePath = ""
switch (uni.getSystemInfoSync().platform) {
case 'harmonyos': {
filePath = getFilesDir() + "/" + imageName + ".wav"
}
break;
default: {
filePath = plus.io.convertLocalFileSystemURL("_download/" + imageName + ".wav");
}
break;
}
let params = {}
params.filePath = filePath
params.sampleRate = 44100 // 采样率
audio.startRecord(params)
audio.stopRecord()
audio.pauseRecord()
audio.resumeRecord()