///<summary>
/// 调用系统 语音朗读 备注 该方法只支持.net 4.0 版本以上 /// </summary> /// <param name="type">错误类型</param> /// <param name="isAsync">是否同步朗读</param> /// <param name="CardCode">卡片编号/卡片持有者</param> void PlaySpeekMouth(Classes.AlarmType type, bool isAsync, string CardCode) { using (SpeechSynthesizer synthesizer = new SpeechSynthesizer()) { synthesizer.Volume = 100; //音量 0~100 最大只能100 synthesizer.Rate = 0; // 语速 -10~10 0 中等 string titleMessage = string.Empty; switch (type) { case Classes.AlarmType.Broken: if (isAsync) { //异步朗读 synthesizer.SpeakAsync("报警!发现卡片编号为:" + CardCode + " 出现错误区域!"); } else { //同步朗读 synthesizer.Speak("报警!发现卡片编号为:" + CardCode + " 出现错误区域!"); } break; case Classes.AlarmType.Disappear: if (isAsync) { //异步朗读 synthesizer.SpeakAsync("报警!发现卡片编号为:" + CardCode + " 出现错误卡片消失!"); } else { //同步朗读 synthesizer.Speak("报警!发现卡片编号为:" + CardCode + " 出现错误卡片消失!"); } break; } }}
然后在调用方法:
//语音报读取 相关信息
PlaySpeekMouth(Classes.AlarmType.Broken, false, vs.CARDCODE);