您的位置:首页 > 其它

中文操作-转拼音、简繁转换、语音播放

2019-11-20 09:29 120 查看

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. 语音识别

知识点:目前大多数还是采用讯飞语音库

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: