1. 中文转拼音
知识点: Nuget 引用 Microsoft.PinYinConverter
示例:
- Console.WriteLine("========== 示例: 获取汉字的拼音 ==========");
- Console.Write("输入一段话:");
- var txt = Console.ReadLine();
- var sb = new StringBuilder();
- foreach (char t in txt)
- {
- if (ChineseChar.IsValidChar(t))
- {
- if (t != txt.First())
- sb.Append(" ");
- var cCh = new ChineseChar(t);
- sb.Append(cCh.Pinyins.FirstOrDefault().Trim('1', '2', '3', '4', '5').ToLower());
- }
- else
- {
- sb.Append(t);
- }
- }
- Console.WriteLine("拼音是:" + sb.ToString());
ChineseChar 类的其他用法
- //1, 静态方法:
- // ->GetCharCount(Inter16) 检索具有指定笔画数的字符个数.
- // ->GetChars(string) 返回具有相同的指定拼音的字符串列表
- // ->GetChars(Inter16) 返回具有指定笔画的所有汉字.
- // ->GetHomophoneCount(string) 检索具有指定拼音的字符数.
- // ->GetStrokeNumber(Char) 检索指定字符的笔画数.
- // ->IsHomophone(Char, Char) 识别给出的两个字符是否是同音字.
- // ->IsValidChar(Char) 识别给出的字符串是否是一个有效的汉字字符.
- // ->IsValidPinyin(String) 识别给出的拼音是否是一个有效的拼音字符串.
- // ->IsValidStrokeNumber(Int16) 识别给出的笔画数是否是一个有效的笔画数.
- //2, 实例方法:
- // ->ChineseCharNew(Char) ChineseChar 类的构造函数.
- // ->CompareStrokeNumber(Char) 将给出的字符和实例字符的笔画数进行比较.
- // ->HasSound(String) 识别字符是否有指定的读音.
- // -> IsHomophone(Char) 识别给出的字符是否是实例字符的同音字.
- //3, 实例属性:
- // ->ChineseCharacter 获取这个汉字字符.
- // ->IsPolyphone 获取这个字符是否是多音字.
- // ->PinyinCount 获取这个字符的拼音个数.
- // ->StrokeNumber 获取这个字符的笔画数
2. 简繁转换
知识点: Nuget 引用 ChineseConverter
示例:
- Console.WriteLine("========== 示例: 汉字简繁转换 ==========");
- Console.Write("采用简体输入一段话:");
- txt = Console.ReadLine();
- txt = ChineseConverter.Convert(txt, ChineseConversionDirection.SimplifiedToTraditional);
- Console.WriteLine("繁体是:" + txt);
- txt = ChineseConverter.Convert(txt, ChineseConversionDirection.TraditionalToSimplified);
- Console.WriteLine("转换回来简体是:" + txt);
3. 语音播放
知识点: 引用 DotNetSpeech.dll
示例:
- Console.WriteLine("========== 示例: 汉字转语音 ==========");
- Console.Write("输入一段话:");
- txt = Console.ReadLine();
- var voice = new SpVoice();
- voice.Speak(txt, SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak);
4. 语音识别
知识点: 目前大多数还是采用讯飞语音库
来源: http://www.bubuko.com/infodetail-3301362.html