更新记录

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)

安装与使用

  1. 将整个目录作为 HBuilderX 原生插件导入(或放到自建插件工程里)。
  2. 在你的 uniapp 项目中复制 js_sdk/voiceDetector/voiceDetector.js
  3. 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)。

注意

  • 该插件不保存音频文件,专注实时检测;如需保存,可自行扩展。
  • 不同机型麦克风灵敏度不同,建议在你的业务里做自适应阈值(比如动态基线 + 偏移)。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

iOS 权限 - `Info.plist` 已写入 `NSMicrophoneUsageDescription`。 - 首次调用会弹出麦克风授权框。 Android 运行权限 - `AndroidManifest.xml` 已内置 `<uses-permission android:name="android.permission.RECORD_AUDIO" />` - 运行时请在 JS 层提前申请麦克风权限: uni.authorize({ scope: 'record', success() { /* 已授权 */ }, fail() { /* 引导到设置 */ } })

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。