说明
多行文本框下方提供播放/暂停、停止与音色下拉,可实时调节语速、音调与音量,并显示正在播报 / 已暂停 / 错误等状态。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 群