gpt4 book ai didi

C# SpeechSynthesizer 使服务无响应

转载 作者:太空狗 更新时间:2023-10-29 21:36:31 28 4
gpt4 key购买 nike

我有以下代码

[WebMethod]
public byte[] stringToWav(string text)
{
SpeechSynthesizer ss = new SpeechSynthesizer();
MemoryStream ms = new MemoryStream();
ss.SetOutputToWaveStream(ms);
ss.Speak(text);
return ms.ToArray();
}

服务什么都不返回。知道为什么会这样吗?

最佳答案

我在 ashx 页面上遇到了同样的问题。

我不明白为什么,但似乎你需要使用一个单独的线程并等待它完成。

以下代码对我有用:

public byte[] TextToBytes(string textToSpeak)
{
byte[] byteArr = null;

var t = new System.Threading.Thread(() =>
{
SpeechSynthesizer ss = new SpeechSynthesizer();
using (MemoryStream memoryStream = new MemoryStream())
{
ss.SetOutputToWaveStream(memoryStream);
ss.Speak(textToSpeak);
byteArr = memoryStream.ToArray();
}
});
t.Start();
t.Join();
return byteArr;
}

关于C# SpeechSynthesizer 使服务无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4671158/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com