更新记录
1.0.0(2025-08-19) 下载此版本
请看md
平台兼容性
uni-app(4.08)
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | - | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | - | - | - | - |
uni-app x(4.08)
Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
---|---|---|---|---|---|
- | - | - | - | - | - |
UniApp 原生插件:Voice-Detector(自动录音 + 实时音量/说话检测)
支持 Android + iOS,提供 start(callback, options)
、stop()
两个方法;
start
会以保活回调的形式每 ~100–500ms 返回一次:
{ "volume": 42.5, "speaking": true }
目录
js_sdk/voiceDetector/voiceDetector.js // JS 封装
plugin.xml // 插件声明(iOS / Android 入口类)
android/ // Android 源码(Kotlin)
ios/ // iOS 源码(Objective-C)
安装与使用
- 将整个目录作为 HBuilderX 原生插件导入(或放到自建插件工程里)。
- 在你的 uniapp 项目中复制
js_sdk/voiceDetector/voiceDetector.js
。 - App 端调用:
import voiceDetector from '@/js_sdk/voiceDetector/voiceDetector.js' voiceDetector.start((ret) => { console.log('volume:', ret.volume, 'speaking:', ret.speaking) }, { threshold: 40, sampleRate: 16000 })
// 停止 // voiceDetector.stop()
### Android 运行权限
- `AndroidManifest.xml` 已内置 `<uses-permission android:name="android.permission.RECORD_AUDIO" />`
- 运行时请在 JS 层提前申请麦克风权限:
```js
uni.authorize({
scope: 'record',
success() { /* 已授权 */ },
fail() { /* 引导到设置 */ }
})
iOS 权限
Info.plist
已写入NSMicrophoneUsageDescription
。- 首次调用会弹出麦克风授权框。
回调数据
volume
:分贝或等效线性音量(Android 为 dB 近似值,iOS 为 0~60 标尺)。speaking
:是否超过阈值,阈值可通过options.threshold
设置(默认 40)。
注意
- 该插件不保存音频文件,专注实时检测;如需保存,可自行扩展。
- 不同机型麦克风灵敏度不同,建议在你的业务里做自适应阈值(比如动态基线 + 偏移)。