gpt4 book ai didi

c# - 从 HRESULT : 0x8004503A in Speechlib 获取异常

转载 作者:行者123 更新时间:2023-11-30 22:03:09 24 4
gpt4 key购买 nike

我已经使用 Speechlib SpVoice 创建了一个文本到语音的应用程序。它适用于 Windows 应用程序。

但是当我使用相同的代码创建 Windows 服务时。它给我这个错误

System.Runtime.InteropServices.COMException (0x8004503A): Exception from HRESULT: 0x8004503A at SpeechLib.ISpeechVoice.Speak

这是我的代码

 public partial class LEDPlayService : ServiceBase
{
static int MessageID = 0;
static SpeechLib.SpVoice VoiceObj = new SpeechLib.SpVoice();
static System.Timers.Timer myTimer = new System.Timers.Timer();
protected override void OnStart(string[] args)
{

myTimer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
//This statement is used to set interval to 1 minute (= 60,000 milliseconds)
myTimer.Interval = 60* 1000;
// enabling the timer
myTimer.Enabled = true; ;
myTimer.AutoReset = false;
}

private static void OnElapsedTime(object source, ElapsedEventArgs e)
{
((System.Timers.Timer)source).Stop();
myTimer.Enabled = false; ;
bool result =PlayAudio("Hello prithvi");
((System.Timers.Timer)source).Start();
myTimer.Enabled = true;

// TraceService(""+DateTime.Now.TimeOfDay);
}

public static bool PlayAudio(string text)
{
bool res = false;
try
{
VoiceObj.Speak(text, SpeechLib.SpeechVoiceSpeakFlags.SVSFDefault);
res = true;
}
catch(Exception e)
{
TraceService("error in sound........."+e.InnerException+e.Message+" "+e.ToString());
res = false;
}
return res;
}

}

请帮帮我..

最佳答案

这是 SAPI 调用返回的低级错误,SPERR_NOT_FOUND。当您不发布代码段和异常的堆栈跟踪时,您很难可靠地回答问题。或者您是如何观察到的,这些 COM 错误通常会转换为 .NET 异常。

错误代码只不过是“无法找到完成该工作所需的内容”。调用上下文应该清楚地表明可能缺少什么,但我们看不到这一点。让此代码在服务中运行是某种提示。运行此服务的用户帐户很重要,System.Speech 的大量配置存储在注册表中,服务将很难找到存储在 HKCU 而不是 HKLM 中的配置。例如,如果您购买并注册了语音,这种情况并不少见。它可能很难找到硬件,例如麦克风或扬声器。

因此,首先要尝试的是将服务配置为使用特定用户帐户(如您的帐户)而不是默认系统帐户运行。接下来要尝试的是使用 SysInternals 的进程监视器,您将看到您的程序在注册表中搜索 key 。比较一个好的跟踪,一个你从作为桌面程序运行它得到的跟踪,与你从服务运行它时得到的跟踪。并使用所需信息更新您的问题以获得更好的答案。

关于c# - 从 HRESULT : 0x8004503A in Speechlib 获取异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26249292/

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