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 主机