更新记录

1.0.0(2026-01-27)

  • 初始版本:支持 App-Android / App-iOS 的在线 IAT/TTS/ISE
  • 提供 onXxx/offXxx 事件回调注册方式

平台兼容性

uni-app(4.87)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(4.87)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - -

hans-xf-speech

讯飞语音(IAT 听写 / TTS 合成 / ISE 评测)UTS 插件。

支持:

  • App-Android(Android 5.0+)
  • App-iOS
  • uni-app x / uni-app(App 端)

不支持:Web、小程序、鸿蒙(当前实现为占位,未接入)。

获取 AppID

在讯飞开放平台创建应用,开通所需能力后获得 AppID

安装

将本插件放到项目 uni_modules/hans-xf-speech(从插件市场安装也会自动放到该目录)。

快速开始

1) 初始化

import { xfInit, setLogEnabled, destroy } from '@/uni_modules/hans-xf-speech'

xfInit({
    appId: '你的AppID',
    logEnabled: true,
    success: () => {},
    fail: (err) => console.error(err),
})

说明:

  • logEnabled 默认 true
  • 如需保持调用名为 initimport { xfInit as init } from '@/uni_modules/hans-xf-speech'

2) 监听回调(持续事件用 on/off)

import { onIatResult, onIatError, offIatResult, offIatError } from '@/uni_modules/hans-xf-speech'

onIatResult((e) => console.log(e.text))
onIatError((err) => console.error(err))

// 页面卸载时清理(建议在 onUnload/onHide 里做)
// offIatResult()
// offIatError()

3) IAT / TTS / ISE 调用

import { iatStart, iatStop, ttsSpeak, ttsStop, iseStart, iseStop } from '@/uni_modules/hans-xf-speech'

const iatSessionId = iatStart({})
iatStop({ sessionId: iatSessionId })

const ttsSessionId = ttsSpeak({ text: '你好' })
ttsStop({ sessionId: ttsSessionId })

const iseSessionId = iseStart({ text: '你好', category: 'read_word' })
iseStop({ sessionId: iseSessionId })

API 概览

初始化与销毁:

  • xfInit({ appId, logEnabled?, success?, fail? })
  • setLogEnabled({ enabled, success?, fail? })
  • destroy()

IAT(听写):

  • iatStart(options) => sessionId
  • iatStop({ sessionId }) / iatCancel({ sessionId })
  • 事件:onIatBegin/onIatEnd/onIatVolume/onIatResult/onIatError + 对应 off...

TTS(合成):

  • ttsSpeak({ text, voiceName?, speed?, volume?, pitch?, engineType?, ... }) => sessionId
  • ttsStop({ sessionId })
  • 事件:onTtsBegin/onTtsProgress/onTtsEnd/onTtsError + 对应 off...

ISE(评测):

  • iseStart({ text, category?, language?, ... }) => sessionId
  • iseStop({ sessionId }) / iseCancel({ sessionId })
  • 事件:onIseBegin/onIseEnd/onIseVolume/onIseResult/onIseError + 对应 off...

权限与常见问题

Android:

  • 需权限:RECORD_AUDIOINTERNETACCESS_NETWORK_STATE
  • 运行时需向系统申请麦克风权限,否则可能出现 “启动录音失败(nativeCode=20006)”

iOS:

  • 需在 Info.plist 声明麦克风用途:NSMicrophoneUsageDescription(插件已提供默认文案,可按需修改)

提示:

  • UTS 原生插件需使用“自定义基座/自定义调试基座”运行;标准基座下会出现“插件未加载/方法调用失败”。

隐私、权限声明

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

麦克风、网络

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

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

暂无用户评论。