首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#语音合成

C#语音合成
EN

Stack Overflow用户
提问于 2013-12-06 14:22:52
回答 1查看 1.1K关注 0票数 4

我有一个将文本文件读入字节数组的应用程序,然后将这个数组转换为string,并将其作为输入发送到SpeechSynthesizer的the方法,但是the方法不会说话。

如果我只发送一个普通的临时字符串,它就能正常工作。但是,当我将字节数组转换为string时,它不起作用。

我所做的是,当我从文本文件中读取这一行时,我使用了这一行代码。

代码语言:javascript
复制
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

所以我想知道如果我只写这样的话有什么区别:

代码语言:javascript
复制
spech.Speak("hello"); // this works perfect

这些字符串之间有什么区别吗?说话的方法没有得到UTF8?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-06 14:31:28

我看不出您的代码有什么问题,但是您的变量b可能不一样。我不知道出了什么问题,但您也可以尝试将音频文件保存在某个地方,并检查它是否正在播放:

代码语言:javascript
复制
 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); 
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20426189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档