SAPI 安装后,怎么在VS2010(C#)中引用啊。
解决方案 »
- 请教<asp:chart 控件里的ImageLocation属性用法
- mysql 查询时间段数据
- 如何阻止一个程序关闭另一个程序的进程?
- vs2008应用程序发布时出错
- 求C#+SQLServer代码:传参,调自定义函数,获取返回值和返回结果集。
- C#模糊查询如何实现?用LINQ吗?DataView如何定位到记录?
- .net技术是什么,只是听说?c#语言有什么优点?学习c#需要什么基础?谢谢!
- C#做一个像QQ一样的发送文件怎样做啊
- Automation
- 请问一下,这个方案能否实现!???
- WinForm 里使用第三方控件没有DoDragDrop方法,如何实现拖放?
- Winform 继承自定义基窗体,打开设计界面报错
SAPI5.1的基于Windows平台的,通过COM接口进行调用。在.Net平台下要应用SAPI5.1,我们可以利用.Net Framework自带的强大工具TlbImp.exe来把SAPI SDK的COM对象导入到.Net中。TlbImp.exe产生一个管制的包装类,管理客户端可以使用它。包装类管理实际的COM对象的参考数。当包装类当作收集的垃圾时,包装类释放掉它包装的COM对象。当然,你也可以在VS.NET环境中通过从项目参考对话框选择COM对象,实现COM对象的导入,这个过程也是通过TlbImp.exe来完成的。
下面演示如何导入SAPI的COM对象:
D:\Program Files\Common Files\Microsoft Shared\Speech>Tlbimp sapi.dll /out: DotNetSpeech.dll在安转SDK以后,可以在D:\Program Files\Common Files\Microsoft Shared\Speech\目录下面找到SAPI.dll,这里面定义了SAPI的COM对象,用Tlbimp.exe工具将该dll转换成.net平台下的Assembly---DotNetSpeech.dll,转换的过程会提示不少的警告(warning),但这部影响我们的开发,可以忽略。最后,我们可以用ildasm查看DotnetSpeech.dll里面的对象。--------------------------------------------------------------------------------
好象要引用using DOtNET....(忘了)
但已经安装了SAPI
using System.Speech.Synthesis;namespace SampleSynthesis
{
class Program
{
static void Main(string[] args)
{ // Initialize a new instance of the SpeechSynthesizer.
using (SpeechSynthesizer synthesizer = new SpeechSynthesizer())
{ // Configure the audio output.
synthesizer.SetOutputToDefaultAudioDevice();
synthesizer.Speak("hello world");
} Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}