我购买了AddTapi.NET的许可证,以简化我在作为 Windows 服务运行的产品中使用 TAPI 的开发。我能够在 Windows GUI 和控制台应用程序中使用 TAPI,并将代码移植到我的 Windows 服务中。那时,我注意到使用语音 API(如 TapiCall.Speak 或 TapiCall.Play(wavefile))的代码没有在电话线上产生声音并且保持沉默。
之前有几个问题可能与我的问题有关。
问题:从 Windows 服务通过调制解调器播放语音表示使用语音时出现问题,该问题已通过在 Windows 服务中生成 GUI 线程来解决。我试图这样做,但未能在电话中听到演讲。
问题:Windows 服务中的 Tapi 访问冲突似乎表明服务中的 TAPI 存在初始问题,但使用 AddTapi 产品已解决。该票并未明确提及语音 API 的使用(SAPI)
我正在使用 Visual Studio 2010 和 .NET 4.0 在 C# 中编程。我正在尝试让它在 Windows 7 上运行。我收到了一封来自 AddTapi 的电子邮件,表明 Microsoft 更改了安全性以禁止使用 Win 2008 Server、Windows Vista 和 Windows 7 中的服务中的语音子系统。以上文章似乎表明 AddTapi 取得了一些成功,尽管它可能不在 Windows 7 上。
鉴于我正在使用的主要系统是 Windows 服务(和子进程),这似乎是让语音正常工作的最佳方法。如果我将 SAPI 代码放在控制台应用程序中,我希望在不需要用户主动登录到计算机的情况下对其进行管理。我的 TAPI 代码没有任何图形。我应该采取类似于文章的方法:启动交互式进程并生成交互式进程吗?有没有在 Windows 服务中使用 TAPI 语音的成功案例?