扩展类库。写 语音类 voice 即可(Windows SAPI)。
快速开始
语音类 voice
voice.置音量(90)
voice.置语速(0)
如果 (voice.朗读("你好,YStudio") == 假) {
输出(voice.取最后错误())
}
voice.等待朗读结束()
同步 / 暂停
voice.同步朗读("说完再往下执行")
voice.朗读("可暂停")
voice.暂停朗读()
voice.继续朗读()
如果 (voice.是否朗读中()) {
voice.等待朗读结束(5000)
}
SAPI XML 标记
voice.同步朗读标记("<rate speed=\"5\">快点说</rate><silence msec=\"200\"/>你好")
存 WAV
语音类 voice
voice.置WAV采样率(16000)
voice.保存到文件("导出测试", "C:\\out.wav")
字节集 wav = voice.保存到字节集("导出到内存")
输出(字节集长度(wav))
采样率允许:8000 / 11025 / 16000 / 22050(默认)/ 44100 / 48000。
方法
| 方法 | 返回 | 说明 |
|---|---|---|
朗读(内容) |
逻辑 | 异步朗读 |
同步朗读(内容) |
逻辑 | 同步朗读 |
朗读标记(内容) |
逻辑 | 异步,按 SAPI XML |
同步朗读标记(内容) |
逻辑 | 同步,按 SAPI XML |
停止朗读() |
逻辑 | 停止 |
暂停朗读() / 继续朗读() |
逻辑 | 暂停 / 继续 |
是否朗读中() |
逻辑 | SAPI RunningState |
等待朗读结束([超时毫秒=-1]) |
逻辑 | 省略或 -1 一直等 |
置语速 / 取语速 |
逻辑/整数 | -10..10 |
置音量 / 取音量 |
逻辑/整数 | 0..100 |
置嗓音 / 取嗓音 |
逻辑/文本 | 按名称片段匹配;空=默认 |
枚举嗓音() |
文本 | 换行分隔 |
置WAV采样率 / 取WAV采样率 |
逻辑/整数 | 保存 WAV 时生效 |
保存到文件(内容, 路径) |
逻辑 | 同步写 WAV |
保存到字节集(内容) |
字节集 | 同步写 WAV 到内存 |
取最后错误() |
文本 |
本机需安装 TTS 嗓音(设置 → 时间和语言 → 语音)。
关于 MP3
语音类本身不内置 MP3 编码器(专利/授权与体积)。WAV 已够用;若需要 MP3/AAC 等,宜另做「音频转换」支持库(WIC/Media Foundation 或小型静态编码器如 LAME/shine),与朗读能力拆分。