次の方法で共有


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