运行界面如下图
代码如下
卡界面运行
private void button2_Click(object sender, EventArgs e)
{
//https://developer.aliyun.com/article/264926#:~:text=%E5%8E%9F%E6%96%87%3A%20C%23%E8%AF%AD%E9%9F%B3%E6%9C%97%E8%AF%BB%E6%96%87%E6%9C%AC%20%E2%80%94%20TTS%E7%9A%84%E5%AE%9E%E7%8E%B0,TTS%2C%20Text%20To%20Speech%E7%9A%84%E7%BC%A9%E5%86%99%EF%BC%8C%E6%98%AF%E4%BD%BF%E7%94%A8%E8%AF%AD%E9%9F%B3%E6%9C%97%E8%AF%BB%E6%96%87%E6%9C%AC%E7%9A%84%E6%8A%80%E6%9C%AF%E3%80%82
Type type = Type.GetTypeFromProgID("SAPI.SpVoice");
dynamic spVoice = Activator.CreateInstance(type);
spVoice.Speak("你好,欢迎使用 CSharp 4.0!");
spVoice.Speak("你好,请打开资源管理器");
spVoice.Speak("查看设备管理器内端口");
}
后台运行
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
Type type = Type.GetTypeFromProgID("SAPI.SpVoice");
dynamic spVoice = Activator.CreateInstance(type);
spVoice.Speak("后台运行声音测试程序");
spVoice.Speak(" 从新开始 ");
spVoice.Speak("我们都是测试程序");
}
private void button3_Click(object sender, EventArgs e)
{
//this.backgroundWorker1.CancelAsync();
///if (!backgroundWorker1.WorkerReportsProgress)
if(!this.backgroundWorker1.IsBusy)
backgroundWorker1.RunWorkerAsync();
}
需要添加 控件(当然也可以代码添加)
参考链接
C#语音朗读文本 — TTS的实现-阿里云开发者社区 (aliyun.com)
主要是改造了后台运行。
特此记录
anlog
2022年12月4日