更新记录
1.0.0(2025-08-02) 下载此版本
yao-RecordFrame
web audio api录音
平台兼容性
uni-app(4.07)
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | - | √ | √ | × |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × | × | × |
yao-RecordFrame
配置
需要将模块下uni_modules/yao-RecordFrame的dist复制到static目录下面 或者 将uni_modules/yao-RecordFrame/dist目录的配置文件放到static/dist目录下面
说明
插件只适用于接实时语音识别的模型,不适合录音上传
示例代码
<template>
<view class="content">
<view class="start-record" @click="onStartRecord">开始录音</view>
<view class="stop-record" @click="onStopRecord">停止录音</view>
<view class="frame">
<view>实时回调:是否是最后一帧:{{isLastFrame}}</view>
<view class="frameBuffer">{{frameBuffer}}</view>
</view>
<yao-RecordFrame
ref="recordFrame"
@onFrameRecorded="frameRecorded"
@onStop="stopIt"></yao-RecordFrame>
</view>
</template>
<script>
export default {
data() {
return {
frameBuffer:'',//实时帧的frameBuffer值
isLastFrame:false,//是否是最后一帧
}
},
onLoad() {
},
methods: {
onStartRecord(){
//开启录音(仅支持两种参数)
this.$refs.recordFrame.start({
sampleRate:16000,
frameSize:1024
})
},
onStopRecord(){
//停止录音
this.$refs.recordFrame.stop();
},
//停止录音
stopIt(base64){
//base64音频只能在浏览器播放
//也可以base64音频转成文件音频可app播放
console.log(base64);
},
frameRecorded({isLastFrame,frameBuffer}){
console.log(isLastFrame,frameBuffer);
if(!isLastFrame){
this.frameBuffer=frameBuffer;
}
this.isLastFrame=isLastFrame?'true':'false';
}
}
}
</script>