• WPF 语音读取某一段文字


          ///<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);

  • 相关阅读:
    linux中解压.tgz, .tar.gz ,zip ,gz, .tar文件
    hook(v16.7测试)?
    React优点?
    Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
    说说数据库连接池工作原理和实现方案?
    short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
    Oracle的数据优化(经常被问到)?
    存储过程和函数的区别?
    Collection 和 Collections的区别?
    说说数据库连接池工作原理和实现方案?
  • 原文地址:https://www.cnblogs.com/w2011/p/2468241.html
Copyright © 2020-2023  润新知