门诊叫号系统系列-1.语音叫号 .net c#

门诊叫号系统系列-1.语音叫号 .net c#,第1张

概述 最近收到一个需求,朋友诊室需要做到门诊叫号,流程如下:病人选择医生-刷身份z排队-医生点击病人姓名叫号。 经过团队的努力,一个简易的门诊叫号系统已经完成。现在把各个功能记录下来,方便以后查看。 1.语音叫号 叫号的DLL:DotNetSpeech.dll 测试代码如下: using System;using System.Collections.Generic;using System.

 最近收到一个需求,朋友诊室需要做到门诊叫号,流程如下:病人选择医生-刷身份z排队-医生点击病人姓名叫号。

经过团队的努力,一个简易的门诊叫号系统已经完成。现在把各个功能记录下来,方便以后查看。

1.语音叫号

叫号的DLL:DotNetSpeech.dll

测试代码如下:

using System;using System.Collections.Generic;using System.linq;using System.windows.Forms;using DotNetSpeech;namespace voice{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        /// <summary>        /// 语音列表        /// </summary>        List<SpVoice> _voice = new List<SpVoice>();        private voID btnSound_Click(object sender,EventArgs e)        {                        this.AddVoice(txtVoice1.Text,int.Parse(txtVolume1.Text),int.Parse(txtRate1.Text));            this.AddVoice(txtVoice2.Text,int.Parse(txtVolume2.Text),int.Parse(txtRate2.Text));            for (int i = 0; i < _voice.Count(); i++)            {                try                {                    //根据文本叫号                    _voice[i].Speak(this.txtVoiceText.Text,SpeechVoiceSpeakFlags.SVSFlagsAsync);                }                catch (Exception ex)                {                    txtError.Text = DateTime.Now.ToString() + ex.ToString() + " " + txtError.Text;                }            }        }        /// <summary>        /// 增加语音库        /// </summary>        /// <param name="p_name">语音库名称</param>        /// <param name="p_Volume">音量</param>        /// <param name="p_Rate">音速</param>        public voID AddVoice(string p_name,int? p_Volume,int? p_Rate)        {            try            {                for (int i = 0; i < _voice.Count(); i++)                {                    if (_voice[i].Voice.GetAttribute("name") == p_name)                    {                        _voice[i].Rate = p_Rate == null ? -3 : p_Rate.Value;                        if (p_Volume != null) _voice[i].Volume = p_Volume.Value;                        return;                    }                }                SpVoice voice = new SpVoice();                voice.Voice = voice.GetVoices(string.Format("name={0}",p_name),"").Item(0);                voice.Rate = p_Rate == null ? -3 : p_Rate.Value;                if (p_Volume != null) voice.Volume = p_Volume.Value;                _voice.Add(voice);            }            catch(Exception ex) {                txtError.Text = DateTime.Now.ToString()+ex.ToString() + " " + txtError.Text;            }        }    }}

  测试界面如下:

 

注意事项:采用DotNetSpeech.dll 是不支持64位的,启动的程序要编译为X86,DLL编译需要ANYcpu,很奇怪,这个找不到原因

总结

以上是内存溢出为你收集整理的门诊叫号系统系列-1.语音叫号 .net c#全部内容,希望文章能够帮你解决门诊叫号系统系列-1.语音叫号 .net c#所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1214519.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存