XSpeechSynthesizerCreateStreamFromText

从指定的纯文本创建语音合成流。

语法

HRESULT XSpeechSynthesizerCreateStreamFromText(  
         XSpeechSynthesizerHandle speechSynthesizer,  
         const char* text,  
         XSpeechSynthesizerStreamHandle* speechSynthesisStream  
)  

参数

speechSynthesizer _In_
类型:XSpeechSynthesizerHandle

要使用的语音合成器。

text _In_z_
类型:char*

用于从其生成语音的纯文本。

speechSynthesisStream _Out_
类型:XSpeechSynthesizerStreamHandle*

一个语音合成流,表示从在 text 中指定的纯文本生成的语音。

返回值

类型:HRESULT

如果成功,则返回 S_OK;否则返回错误代码。 有关错误代码的列表,请参阅错误代码。 如果该函数因语音合成器流大于最大数据大小而失败,则返回值将设置为 E_BOUNDS

备注

注意

在时间敏感线程上调用此函数是不安全的。 有关详细信息,请参阅时间敏感线程

  • 使用此函数从纯文本合成语音,并以 WAVE 容器(audio/wav MIME 类型)格式生成音频数据。 使用此函数创建语音合成器流并从纯文本合成语音后,使用 XSpeechSynthesizerGetStreamDataSizeXSpeechSynthesizerGetStreamData 函数检索来自语音合成器流的音频数据。 检索了音频数据后,使用 XSpeechSynthesizerCloseStreamHandle 函数关闭语音合成器流。

  • 一个语音合成器流的最大数据大小为 0xffffffff 字节:4 GB 减去一个字节。 如果您尝试创建大于该最大数据大小的语音合成器流,则会发生错误。

  • 为防止内存泄漏,请在完成所有使用某个语音合成器流句柄的操作后,调用 XSpeechSynthesizerCloseStreamHandle 函数来关闭此句柄。 在调用此函数前,必须完成所有未完成的异步操作。

  • 有关演示如何使用 XSpeechSynthesizerCreateStreamFromText 函数的示例,请参阅 XSpeechSynthesizerCreate

要求

头文件:XSpeechSynthesizer.h

库:xgameruntime.lib

支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机

另请参阅

XAccessibility
XSpeechSynthesizerCloseStreamHandle
XSpeechSynthesizer