XSpeechSynthesizerCreateStreamFromSsml
指定された SSML からスピーチ合成ストリームを作成します。
構文
HRESULT XSpeechSynthesizerCreateStreamFromSsml(
XSpeechSynthesizerHandle speechSynthesizer,
const char* ssml,
XSpeechSynthesizerStreamHandle* speechSynthesisStream
)
パラメーター
speechSynthesizer _In_
型: XSpeechSynthesizerHandle
使用するスピーチ シンセサイザー。
ssml _In_z_
型: char*
読み上げる SSML に変更されたテキスト。 SSML マークアップの詳細については、W3C に関する推奨事項を参照してください。
注意
この API は、呼び出し元にユーザー バージョン 1.0 の SSML が必要です。
speechSynthesisStream _Out_
型: XSpeechSynthesizerStreamHandle*
text で指定されたプレーン テキストから生成されたスピーチを表すスピーチ合成ストリーム。
戻り値
型: HRESULT
正常に実行された場合は S_OK が返され、それ以外の場合はエラー コードが返されます。 エラー コードの一覧については、「エラー コード」を参照してください。 スピーチ シンセサイザー ストリームが最大データ サイズより大きいために関数が失敗した場合、戻り値は E_BOUNDS に設定されます。
解説
注意
この関数は、時間依存のスレッドで呼び出すのに安全ではありません。 詳細については、「時間依存のスレッド」を参照してください。
この関数を使用して、プレーン テキストからスピーチを合成し、WAVE コンテナー (
audio/wav
MIME type) 形式でオーディオ データを生成します。 この関数を使用してスピーチ シンセサイザー ストリームを作成し、プレーン テキストからスピーチを合成した後、XSpeechSynthesizerGetStreamDataSize 関数と XSpeechSynthesizerGetStreamData 関数を使用して、スピーチ シンセサイザー ストリームからオーディオ データを取得します。 オーディオ データを取得した後、XSpeechSynthesizerCloseStreamHandle 関数を使用して、スピーチ シンセサイザー ストリームを閉じます。スピーチ シンセサイザー ストリームの最大データ サイズは 0xffffffff バイトです。これは 4 ギガバイトから 1 バイトを引いた値です。 最大データ サイズよりも大きいスピーチ シンセサイザー ストリームを作成しようとすると、エラーが発生します。
メモリ リークを防ぐため、ハンドルを使用しているすべての操作を完了した後で、XSpeechSynthesizerCloseStreamHandle 関数を呼び出して、スピーチ シンセサイザー ストリーム ハンドルを閉じます。 すべての未処理の非同期操作は、この関数を呼び出す前に完了する必要があります。
XSpeechSynthesizerCreateStreamFromSsml 関数の使用方法を示す例については、「XSpeechSynthesizerCreate」を参照してください。
要件
ヘッダー: XSpeechSynthesizer.h
ライブラリ: xgameruntime.lib
サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体
関連項目
XAccessibility
XSpeechSynthesizerCloseStreamHandle
XSpeechSynthesizer