XSpeechToTextBeginHypothesisString

开始假设并在文本覆盖中显示其字符串。

语法

HRESULT XSpeechToTextBeginHypothesisString(  
         const char* speakerName,  
         const char* content,  
         XSpeechToTextType type,  
         uint32_t* hypothesisId  
)  

参数

speakerName _In_z_
类型:char*

随假设字符串显示的讲话者姓名。

content _In_z_
类型:char*

初始假设字符串。

type _In_
类型:XSpeechToTextType

假设字符串的源类型。

hypothesisId _Out_
类型:uint32_t*

假设的 ID。

返回值

类型:HRESULT

HRESULT 成功或错误代码。

备注

假设是对用户所说内容的猜想,通常由语音识别器在讲话人说话途中生成。 语音转文本的覆盖 API 可在游戏界面显示假设字符串。

语音转文本的覆盖 API 还可支持键入文本。 键入参数会识别假设字符串源。

应用有责任保留hypothesisId,直至该假设被最终确定或取消。

若要更新叠加中的假设字符串,请使用 XSpeechToTextUpdateHypothesisString

若要取消假设并从覆盖中删除,请使用 XSpeechToTextCancelHypothesisString

若要完成假设,请使用 XSpeechToTextFinalizeHypothesisString

在某些平台上,假设字符串直到应用程序调用 XSpeechToTextFinalizeHypothesisString 后才会显示。 除非取消该假设,否则应用必须始终调用 XSpeechToTextFinalizeHypothesisString,以确保显示该字符串。

以下代码示例显示了一个应用,此应用正在创建、更新以及最终完成一个假设。

void RowanHypothesisSample() 
{ 
    UINT32 hypothesisId; 
    XSpeechToTextBeginHypothesisString("Rowan", "I am typing some text.", XSpeechToTextType::Text, &hypothesisId); 
 
    // Some time passes. 
 
    XSpeechToTextUpdateHypothesisString(hypothesisId, "I am still typing some text."); 
 
    // Some time passes. 
 
    XSpeechToTextFinalizeHypothesisString(hypothesisId, "I typed some text. I am done typing."); 
} 

以下代码示例显示了一个应用,此应用正在创建、更新以及取消一个假设。

void QuincyHypothesisSample() 
{ 
    UINT32 hypothesisId; 
    XSpeechToTextBeginHypothesisString("Quincy", "I am speaking some text.", XSpeechToTextType::Voice, &hypothesisId); 
 
    // Some time passes. 
 
    XSpeechToTextUpdateHypothesisString(hypothesisId, "I am still speaking some text."); 
 
    // Some time passes. 
 
    XSpeechToTextCancelHypothesisString(hypothesisId); 
} 

要求

头文件:XAccessibility.h

库:xgameruntime.lib

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

另请参阅

XAccessibility