1

MSDN のインストールに従って、「MSSpeech_TTS_zh-CN_HuiHui.msi」と「MSSpeech_SR_zh-CN_TELE.msi」をインストールし、サンプルを実行しました。英語の音声はうまく機能しますが、中国語を次のように入力すると、次のようになります。

SpeechSynthesizer synth = new SpeechSynthesizer();
synth.SelectVoiceByHints(VoiceGender.Neutral);
synth.Speak("你好");

それは何も話さない、何か提案はありますか?ありがとう!

4

1 に答える 1

0

音声を明示的に選択することもできます。MSDN のドキュメントを参照SelectVoiceByHintsすると、仕様に一致する最初の音声が返されると記載されています。

リンクから(強調鉱山)。

GetInstalledVoicesメソッドとVoiceInfoクラスを使用して、選択できるインストール済みのテキスト読み上げ (TTS) 音声の名前を取得します。SpeechSynthesizer オブジェクトは、指定された特性に一致する最初にインストールされた音声を選択します

アプリケーションが GetInstalledVoices を呼び出すと、このメソッドは、レジストリで検出した各ボイスが特定の最小基準を満たしていることを確認します。検証に失敗した音声の場合、GetInstalledVoices はその Enabled プロパティを False に設定します。アプリケーションは、Enabled プロパティが False の音声を選択できません。通常、アプリケーションは音声の Enabled プロパティを設定しません。

名前で音声を選択するには、SelectVoiceメソッドを使用します。

または、SelectVoiceByHintsCultureInfo をパラメーターとして受け取るメソッドのオーバーロードを使用できます。

SpeechSynthesizer オブジェクトは、Gender、Age、および Culture プロパティが、gender、age、および culture パラメーターと一致する音声を検索します。SpeechSynthesizer は、見つかった一致をカウントし、カウントが voiceAlternate パラメーターと等しい場合に音声を返します。

Microsoft Windows と System.Speech API は、すべての有効な言語国コードを受け入れます。culture パラメーターで指定された言語を使用してテキスト読み上げを実行するには、その言語の国コードをサポートする音声合成エンジンがインストールされている必要があります。Microsoft Windows 7 に同梱されている音声合成エンジンは、次の言語の国コードで動作します。

•en-US。英語 (米国)

•zh-CN。中国語(中国)

•zh-TW。中国語(台湾)

「en」などの 2 文字の言語コードも使用できます。

于 2014-07-02T04:23:45.187 に答える