XSpeechSynthesizerCreateStreamFromSsml
从指定的 SSML 创建语音合成流。语法
参数
speechSynthesizer _In_类型:XSpeechSynthesizerHandle 要使用的语音合成器。 ssml _In_z_
类型:char* 要朗读的 SSML 修饰文本。有关 SSML 标记的详细信息,请参阅 W3C 建议。
此 API 要求调用方使用 SSML 1.0 版。
类型:XSpeechSynthesizerStreamHandle* 表示从 text 中指定的纯文本生成的语音的语音合成流。
返回值
类型:HRESULT 如果成功,则返回 S_OK;否则返回错误代码。有关错误代码列表,请参阅错误代码。如果因为语音合成器流大于最大数据大小而函数失败,则返回值将设为 E_BOUNDS。备注
此函数在时间敏感型线程上调用不安全。有关详细信息,请参阅时间敏感型线程。
-
使用此函数可从纯文本合成语音并生成 WAVE 容器(
audio/wavMIME 类型)格式的音频数据。使用此函数创建语音合成器流并从纯文本合成语音后,使用 XSpeechSynthesizerGetStreamDataSize 和 XSpeechSynthesizerGetStreamData 函数从语音合成器流中检索音频数据。在检索完音频数据后,使用 XSpeechSynthesizerCloseStreamHandle 函数关闭语音合成器流。 - 语音合成器流的最大数据大小为 0xffffffff 字节:四千兆字节减一字节。如果尝试创建大于最大数据大小的语音合成器流,则会发生错误。
- 为防止内存泄漏,在完成使用该句柄的所有操作后,请调用 XSpeechSynthesizerCloseStreamHandle 函数关闭语音合成器流句柄。在调用此函数之前,必须完成所有未完成的异步操作。
- 有关演示如何使用 XSpeechSynthesizerCreateStreamFromSsml 函数的示例,请参阅 XSpeechSynthesizerCreate。
要求
头文件: XSpeechSynthesizer.h 库: xgameruntime.lib 支持的平台: Windows、XBOX One 系列主机和 XBOX Series 主机另请参阅
XAccessibilityXSpeechSynthesizerCloseStreamHandle
XSpeechSynthesizer
