我有一个应用程序将文本文件读入字节数组,
然后我将这个数组转换为字符串并将其作为输入发送到speak方法
SpeechSynthesizer,但SPEAK方法不说话..
如果我只是发送一个常规的临时字符串它工作正常..但当我转换
字节数组到字符串它不起作用.
我做的是当我从文本文件中读取行时,我使用这行代码
UTF8Encoding temp = new UTF8Encoding(true);
string whatToSay = temp.getString(b);
speech.Speak(whatToSay); // it doesn't work even though the above line returns the
correct string
所以我想知道如果我写这个有什么区别:
spech.Speak("hello"); // this works perfect
这些字符串之间有什么区别吗? speak方法没有获得UTF8?
最佳答案 我看不到你的代码有任何问题,但也许你的变量b是不同的.我不确定有什么问题,但您也可以尝试将音频文件保存到某处并检查它是否正在播放:
using (SpeechSynthesizer synth = new SpeechSynthesizer()) {
synth.SetOutputToWaveFile(@"C:\temp\Sample.wav");
PromptBuilder builder = new PromptBuilder();
builder.AppendText("Hello World !"); //You can send a variable here also.
synth.Speak(builder);
}