TextToSpeech

基于浏览器 Web Speech API(SpeechSynthesis)的文字转语音朗读框,与语音输入一入一出。

最后更新

说明

多行文本框下方提供播放/暂停、停止与音色下拉,可实时调节语速、音调与音量,并显示正在播报 / 已暂停 / 错误等状态。Lang 设置合成语言(默认 zh-CN),Voice 预选音色,Rate(0.1–10)、Pitch(0–2)、Volume(0–1)给初值;所选音色存在时以其自带语言为准。与 SpeechInput 同属 Web Speech API,需在 HTTPS 或 localhost 安全上下文使用;浏览器不支持时自动降级并提示。音色多为异步加载,下拉为空时可点“重新加载音色”;浏览器同一时刻只播一路,多个实例会自动接管。

常见能力:

  • 一键朗读绑定文本
  • 音色下拉可切换
  • 语速 / 音调 / 音量实时调节
  • 暂停 / 继续 / 停止
  • 播报状态与错误提示
  • 不支持自动降级
  • 与语音输入同源(Web Speech API)

用法

<TextToSpeech @bind-Value="@text" Lang="zh-CN" Rate="1" Pitch="1" Volume="1" Rows="3" />

API 参数

参数 类型 默认值 说明
Lang string "zh-CN" 合成语言,BCP-47 标签,默认中文(zh-CN)。所选音色存在时会以音色自带语言为准。
Pitch double 1 初始音调,0–2,默认 1。
Placeholder string "请输入要播报的文字…" 占位文字。
Rate double 1 初始语速,0.1–10(推荐 0.5–2),默认 1。
Rows int 3 行数(多行输入框高度)。
Value string null 绑定值(待播报 / 正在播报的文本,可手动编辑)。
ValueChanged EventCallback<string> — 事件
Visible bool true 取得或设置组件是否可见,默认为false。
VisibleChanged EventCallback<bool> — 事件 取得或设置组件可见性变化时的回调事件。
Voice string null 初始音色标识(voiceURI);为空表示用浏览器默认音色。
Volume double 1 初始音量,0–1,默认 1。
Class string null 取得或设置组件的CSS类名,用于自定义样式。
Disabled bool false 取得或设置组件是否禁用,默认为false。
Style string null 取得或设置组件的内联样式,用于自定义样式。

所有组件均继承 BaseComponent,除上表参数外还支持 Class、Style、Disabled、Visible。

微信公众号二维码 扫码关注公众号
QQ 交流群二维码 扫码加入 QQ 群