更新记录

1.0.1(2026-03-18)

  • 修复 Android 真机下暂停/继续链路,优化任务超时判定与暂停期间计时策略。
  • 优化插队与停止场景的任务状态收敛,减少并发测试下的误报日志。
  • 增强运行时探测日志,新增 nativeChannel 与适配器可用性明细输出。
  • 补齐 utssdk 目录最小结构,满足插件市场 UTS 插件目录校验要求。
  • 完成 Android 真机(PBAM00 / Android 8.1.0)一键自检通过验证。

平台兼容性

uni-app(4.84)

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

uni-app x(4.84)

Chrome Safari Android iOS 鸿蒙 微信小程序

lizhao-smart-tts

全端语音播报编排插件,支持统一 API、任务队列、多层回退与长文本分段。

1. 能力概览

  • 统一 API:initTTSspeakpauseresumestopgetVoicesgetCapabilitieson/off
  • 编排能力:任务队列、优先级、插队(interrupt)、长文本分段
  • 回退策略:native -> web speech -> cloud audio
  • 组件支持:<lizhao-smart-tts />

2. 快速使用(API)

import { initTTS, speak, stop } from '@/uni_modules/lizhao-smart-tts'

await initTTS({
  lang: 'zh-CN',
  fallbackChain: ['native', 'web', 'cloud'],
  cloud: {
    endpoint: 'https://your-api.example.com/tts',
    method: 'POST',
    responseField: 'audioUrl'
  }
})

await speak({
  text: '你好,这是 lizhao-smart-tts 的全端播报演示。',
  priority: 1,
  maxSegmentLength: 120
})

await stop()

3. 快速使用(组件)

<lizhao-smart-tts
  text="这是组件方式触发的语音播报。"
  :options="ttsOptions"
  @ready="onReady"
  @start="onStart"
  @end="onEnd"
  @error="onError"
/>

4. API 说明

initTTS(options): Promise<Capabilities>

初始化 TTS 引擎与回退链。

speak(options): Promise<{ taskId: string; status: 'completed' }>

创建并执行一个播报任务。

pause(): Promise<{ paused: boolean; reason?: string }>

暂停当前正在播报的任务。

resume(): Promise<{ resumed: boolean; reason?: string }>

继续已暂停的任务。

stop(options?): Promise<{ stopped: boolean; queueCleared: boolean }>

停止当前任务,并可选择清空队列。

getVoices(): Promise<VoiceInfo[]>

获取当前可用音色列表。

getCapabilities(): Capabilities

获取当前运行时能力与可用适配器。

on(eventName, handler) / off(eventName, handler)

订阅与取消订阅运行事件。

TTSInitOptions

参数 类型 必填 说明
lang string 默认语言。支持 BCP47 语言标记(如 zh-CNen-USja-JP),插件会透传给适配器/云端,默认 zh-CN
rate number 语速。建议范围 0.5 ~ 2,默认 1;超出范围时由底层适配器决定是否截断或忽略。
pitch number 音调。建议范围 0 ~ 2,默认 1;超出范围时由底层适配器决定是否截断或忽略。
volume number 音量。建议范围 0 ~ 1,默认 1;超出范围时由底层适配器决定是否截断或忽略。
maxSegmentLength number 长文本分段阈值,默认 120
timeout number 单段执行超时毫秒数,默认 12000
fallbackChain Array<'native' \| 'web' \| 'cloud'> 适配器回退顺序,默认 ['native', 'web', 'cloud']
cloud CloudOptions 云端回退配置对象。

SpeakOptions

参数 类型 必填 说明
text string 待播报文本。
priority number 队列优先级,值越大越优先。
interrupt boolean 是否插队执行;为 true 时会抢占当前任务。
lang string 本次任务覆盖默认语言。支持 BCP47 语言标记(如 zh-CNen-USja-JP)。
rate number 本次任务覆盖默认语速。建议范围 0.5 ~ 2
pitch number 本次任务覆盖默认音调。建议范围 0 ~ 2
volume number 本次任务覆盖默认音量。建议范围 0 ~ 1
voiceName string 指定音色名称。支持值来自 getVoices() 返回结果中的 name 字段。
maxSegmentLength number 本次任务覆盖分段阈值。
timeout number 本次任务覆盖超时毫秒数。
cloud CloudOptions 本次任务覆盖云端配置。

StopOptions

参数 类型 必填 说明
clearQueue boolean 是否清空等待队列,默认 true

5. 组件 Props / Events

Props

参数 类型 必填 说明
text string 按钮触发时播报的默认文本。
options TTSInitOptions & SpeakOptions 透传给内部初始化与播报调用的配置。
buttonText string 按钮文案,默认“开始语音播报”。
disabled boolean 是否禁用交互。

Events

参数 类型 必填 说明
ready (capabilities: Capabilities) => void 初始化成功后触发。
start (payload: { taskId: string; text: string; segmentCount: number }) => void 任务开始时触发。
progress (payload: { taskId: string; adapter: string; segment: string; progress: number }) => void 播报进度更新时触发。
end (payload: { taskId: string; text: string }) => void 任务完成时触发。
error (err: any) => void 初始化或播报失败时触发。
success (result: { taskId: string; status: 'completed' }) => void 本次组件触发任务成功时触发。

6. 云端回退配置(CloudOptions)

参数 类型 必填 说明
synthesize (payload: { text: string; lang: string; voiceName: string }) => Promise<string \| { url: string }> 建议优先使用;直接返回音频 URL 或 { url }
endpoint string 未提供 synthesize 时,插件通过 uni.request 请求该地址。
method 'GET' \| 'POST' 请求方法,默认 POST
headers Record<string, string> 请求头配置。
responseField string 响应中音频地址字段名,默认 audioUrl

7. 错误码

参数 类型 必填 说明
NOT_INITIALIZED string 未初始化。
INVALID_TEXT string 文本为空或无有效分段。
ADAPTER_UNAVAILABLE string 当前适配器不可用。
ADAPTER_FAILED string 适配器执行失败。
TASK_STOPPED string 任务被停止或清队列。
TASK_TIMEOUT string 单段播放超时。
NO_AVAILABLE_ADAPTER string 回退链全部失败。
CLOUD_CONFIG_REQUIRED string 云端回退缺少必要配置。

8. 平台兼容性

uni-app

  • Vue2、Vue3
  • Chrome、Safari
  • app-vue、app-nvue
  • Android、iOS、鸿蒙
  • 微信小程序

uni-app x

  • Chrome、Safari
  • Android、iOS、鸿蒙
  • 微信小程序

隐私、权限声明

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

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

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

暂无用户评论。