C# 中文TTS失败,而英文有效
我刚刚安装了MicrosoftSpeechSDK11,并为中英文添加了两种不同的运行时语言 虽然中国人让我犯了这个错误,但英语似乎还不错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
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上使用它,直到我把这些文件放进目录,然后它开始工作,我才能让任何人说中文。