C# 中文TTS失败,而英文有效

C# 中文TTS失败,而英文有效,c#,text-to-speech,C#,Text To Speech,我刚刚安装了MicrosoftSpeechSDK11,并为中英文添加了两种不同的运行时语言 虽然中国人让我犯了这个错误,但英语似乎还不错 System.InvalidOperationException 附加信息 Speak error '80004005' 排队 synth.Speak(s); 在下面的代码中 using System; using Microsoft.Speech.Synthesis; namespace SampleSynthesis { class Pro

我刚刚安装了MicrosoftSpeechSDK11,并为中英文添加了两种不同的运行时语言

虽然中国人让我犯了这个错误,但英语似乎还不错

System.InvalidOperationException
附加信息

Speak error '80004005'
排队

synth.Speak(s);
在下面的代码中

using System;
using Microsoft.Speech.Synthesis;

namespace SampleSynthesis
{
    class Program
    {
        static void Main(string[] args)
        {
            speakString(0, "Hello, I'm TTS.");
        }

        static void speakString(int i, String s)
        {
            // Initialize a new instance of the SpeechSynthesizer.
            SpeechSynthesizer synth = new SpeechSynthesizer();

            // Select a voice. 
            switch (i)
            {
                case 0:
                    synth.SelectVoice("Microsoft Server Speech Text to Speech Voice (en-US, ZiraPro)");
                    break;
                case 1:
                    synth.SelectVoice("Microsoft Server Speech Text to Speech Voice (zh-CN, HuiHui)");
                    break;
            }

            // Configure the audio output. 
            synth.SetOutputToWaveFile(@"C:\Users\David\Desktop\TTStest\test.wav");

            synth.Speak(s);
        }
    }
}
在另一个问题中我发现了这个, 说明(自?)windows 8.1中缺少关键文件, 但没有说明如何获取这些信息的任何方法

我目前正在使用64位版本的windows 10

编辑:我下载了chsbrkr.dll和chtbrkr.dll文件,并得到以下新错误

An unhandled exception of type 'System.InvalidCastException' occurred in Microsoft.Speech.dll
同样适用于我代码中的同一行。

由tofutim发布:

在Windows 8.1和Windows 8.0之间,删除了两个对使用服务器语音API至关重要的文件。它们是chsbrkr.dll和chtbrkr.dll,它们将位于Windows 8.0的Windows目录中。根据您的SDK和Windows 8.0版本(x86 vs x64),从Windows选择x86 vs x64版本也很重要。例如,在64位Windows 8.1环境中,应使用32位dll将这两个文件放置在

C:\Program Files(x86)\Common Files\Microsoft Shared\Speech\TTS\v11.0

希望微软能解决这些问题(尽管我听说他们不会),或者正式允许发布(祝你好运…)

顺便说一句,您不应该通过Windows8.0在WindowsXP中看到此错误

更新。我相信这些文件是用来把中文分成块,让TTS来处理的。如果没有它们,中文TTS将失败并发布错误


你的问题解决了吗?我遇到了同样的问题。。。谢谢。不,我没有找到解决方案。我是在日语(Windows 10,语音v11)出现同样问题后发现这个问题的。我无法访问DLL进行尝试(它们可能只针对中文),因此我不知道它是否能解决问题。呃,我的问题已经过去了一段时间,但当我下载这些文件时,我在edit.Gotcha中收到了错误消息。我试着在Windows10上使用它,直到我把这些文件放进目录,然后它开始工作,我才能让任何人说中文。