当前位置:首页 > 开发教程 > C++教程 >

C#实现语音播报功能

时间:2022-03-27 15:39 来源:未知 作者:我想等你 收藏

这篇文章主要为大家详细介绍了C#实现语音播报功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C#实现语音播报功能的具体代码,供大家参考,具体内容如下

环境:

window10
vs2019 16.5.5
.netframework4.5

一、关于语音播报

语音播报的功能属于操作系统自带的。win7和win10都自带,部分win7阉割版系统没有这项功能会导致运行报错:

检索 COM 类工厂中 CLSID 为 {D9F6EE60-58C9-458B-88E1-2F908FD7F87C} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。

查看自己电脑是否支持语音播报功能,可以参考如下:

C#实现语音播报功能

二、C#代码

直接新建个控制台程序,添加System.Speech.dll引用:

C#实现语音播报功能

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Speech.Synthesis;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp9
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? SpeechSynthesizer speech = new SpeechSynthesizer();
? ? ? ? ? ? Console.Write("请输入文字:");
? ? ? ? ? ? string str = Console.ReadLine();
? ? ? ? ? ? try
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (string.IsNullOrEmpty(str))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? speech.Speak("请输入文字");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? speech.Speak(str);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? catch (Exception ex)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Console.WriteLine($"报错:{ex?.Message}");
? ? ? ? ? ? }
? ? ? ? ? ? Console.WriteLine("ok");
? ? ? ? ? ? Console.ReadLine();
? ? ? ? }
? ? }
}

运行后,带好耳机,查看效果:

C#实现语音播报功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持源码搜藏网。


下一篇:没有了

C++教程阅读排行

最新文章