登录
首页 » C# » c# 语音卡电话呼叫系统 源码

c# 语音卡电话呼叫系统 源码

于 2017-06-18 发布
0 119
下载积分: 1 下载次数: 1

代码说明:

说明:visual C#编写实现语音卡电话呼叫系统,本实例使用了语音卡中的newsig.dll和tc08a32.dll组件,运行前需将其拷贝到Debug文件夹中。本语音卡程序展示了一个完整的电话来电的处理过程,比如来电接听、响铃、未接电话、遇忙转换等,另外也演示了如何按数字键盘后在屏幕上显示拨打的号码,检测通道总数,并为每个通道分配语音缓冲区,初始化语音卡硬件,作者有版权,仅供学习与参考。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论


0 个回复

  • c# 敏感词过滤(繁体简体互换/支持全角半角互换/汉字转拼音)示例源码
    拼音 模糊搜索
    2017-08-23下载
    积分:1
  • Chart曲线随机运行时间轴缩放(DataVisualization.Charting)
    Chart曲线随机运行时间轴缩放(DataVisualization.Charting)
    2020-12-09下载
    积分:1
  • c#Winform自定义控件
    c#Winform自定义控件-基类控件,按钮,有图标的按钮,选择按钮组,复选框,单选框,进度条,分割线,树,横向列表,列表,分页控件,导航菜单,键盘,文本框,表格,日期控件,Tab页,下拉框,步骤控件,有标题的面板,圆形进度条,面包屑导航,开关等等。using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Linq;using System.Text;using System.Windows.Forms;namespace HZH_Controls.Controls{    ///     /// Class UCBtnsGroup.    /// Implements the     ///     ///     public partial class UCBtnsGroup : UserControl    {        ///         /// 选中改变事件        ///         [Description("选中改变事件"), Category("自定义")]        public event EventHandler SelectedItemChanged;        ///         /// The m data source        ///         private Dictionary m_dataSource = new Dictionary();        ///         /// 数据源        ///         /// The data source.        [Description("数据源"), Category("自定义")]        public Dictionary DataSource        {            get { return m_dataSource; }            set            {                m_dataSource = value;                Reload();            }        }        ///         /// The m select item        ///         private List m_selectItem = new List();        ///         /// 选中项        ///         /// The select item.        [Description("选中项"), Category("自定义")]        public List SelectItem        {            get { return m_selectItem; }            set            {                m_selectItem = value;                if (m_selectItem == null)                    m_selectItem = new List();                SetSelected();            }        }        ///         /// The m is multiple        ///         private bool m_isMultiple = false;        ///         /// 是否多选        ///         /// true if this instance is multiple; otherwise, false.        [Description("是否多选"), Category("自定义")]        public bool IsMultiple        {            get { return m_isMultiple; }            set { m_isMultiple = value; }        }        ///         /// Initializes a new instance of the class.        ///         public UCBtnsGroup()        {            InitializeComponent();        }        ///         /// Reloads this instance.        ///         private void Reload()        {            try            {                ControlHelper.FreezeControl(flowLayoutPanel1, true);                this.flowLayoutPanel1.Controls.Clear();                if (DataSource != null)                {                    foreach (var item in DataSource)                    {                        UCBtnExt btn = new UCBtnExt();                        btn.BackColor = System.Drawing.Color.Transparent;                        btn.BtnBackColor = System.Drawing.Color.White;                        btn.BtnFont = new System.Drawing.Font("微软雅黑", 10F);                        btn.BtnForeColor = System.Drawing.Color.Gray;                        btn.BtnText = item.Value;                        btn.ConerRadius = 5;                        btn.Cursor = System.Windows.Forms.Cursors.Hand;                        btn.FillColor = System.Drawing.Color.White;                        btn.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);                        btn.IsRadius = true;                        btn.IsShowRect = true;                        btn.IsShowTips = false;                        btn.Location = new System.Drawing.Point(5, 5);                        btn.Margin = new System.Windows.Forms.Padding(5);                        btn.Name = item.Key;                        btn.RectColor = System.Drawing.Color.FromArgb(224, 224, 224);                        btn.RectWidth = 1;                        btn.Size = new System.Drawing.Size(72, 38);                        btn.TabStop = false;                        btn.BtnClick = btn_BtnClick;                        this.flowLayoutPanel1.Controls.Add(btn);                    }                }            }            finally            {                ControlHelper.FreezeControl(flowLayoutPanel1, false);            }            SetSelected();        }        ///         /// Handles the BtnClick event of the btn control.        ///         /// The source of the event.        /// The instance containing the event data.        void btn_BtnClick(object sender, EventArgs e)        {            var btn = sender as UCBtnExt;            if (m_selectItem.Contains(btn.Name))            {                btn.RectColor = System.Drawing.Color.FromArgb(224, 224, 224);                m_selectItem.Remove(btn.Name);            }            else            {                if (!m_isMultiple)                {                    foreach (var item in m_selectItem)                    {                        var lst = this.flowLayoutPanel1.Controls.Find(item, false);                        if (lst.Length == 1)                        {                            var _btn = lst[0] as UCBtnExt;                            _btn.RectColor = System.Drawing.Color.FromArgb(224, 224, 224);                        }                    }                    m_selectItem.Clear();                }                btn.RectColor = System.Drawing.Color.FromArgb(255, 77, 59);                m_selectItem.Add(btn.Name);            }            if (SelectedItemChanged != null)                SelectedItemChanged(this, e);        }        ///         /// Sets the selected.        ///         private void SetSelected()        {            if (m_selectItem != null && m_selectItem.Count > 0 && DataSource != null && DataSource.Count > 0)            {                try                {                    ControlHelper.FreezeControl(flowLayoutPanel1, true);                    if (m_isMultiple)                    {                        foreach (var item in m_selectItem)                        {                            var lst = this.flowLayoutPanel1.Controls.Find(item, false);                            if (lst.Length == 1)                            {                                var btn = lst[0] as UCBtnExt;                                btn.RectColor = System.Drawing.Color.FromArgb(255, 77, 59);                            }                        }                    }                    else                    {                        UCBtnExt btn = null;                        foreach (var item in m_selectItem)                        {                            var lst = this.flowLayoutPanel1.Controls.Find(item, false);                            if (lst.Length == 1)                            {                                btn = lst[0] as UCBtnExt;                                break;                            }                        }                        if (btn != null)                        {                            m_selectItem = new List() { btn.Name };                            btn.RectColor = System.Drawing.Color.FromArgb(255, 77, 59);                        }                    }                }                finally                {                    ControlHelper.FreezeControl(flowLayoutPanel1, false);                }            }        }    }}using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Linq;using System.Text;using System.Windows.Forms;using System.Drawing.Drawing2D;namespace HZH_Controls.Controls{    ///     /// Class UCStep.    /// Implements the     ///     ///     [DefaultEvent("IndexChecked")]    public partial class UCStep : UserControl    {        ///         /// Occurs when [index checked].        ///         [Description("步骤更改事件"), Category("自定义")]        public event EventHandler IndexChecked;        ///         /// The m step back color        ///         private Color m_stepBackColor = Color.FromArgb(189, 189, 189);        ///         /// 步骤背景色        ///         /// The color of the step back.        [Description("步骤背景色"), Category("自定义")]        public Color StepBackColor        {            get { return m_stepBackColor; }            set            {                m_stepBackColor = value;                Refresh();            }        }        ///         /// The m step fore color        ///         private Color m_stepForeColor = Color.FromArgb(255, 77, 59);        ///         /// 步骤前景色        ///         /// The color of the step fore.        [Description("步骤前景色"), Category("自定义")]        public Color StepForeColor        {            get { return m_stepForeColor; }            set            {                m_stepForeColor = value;                Refresh();            }        }        ///         /// The m step font color        ///         private Color m_stepFontColor = Color.White;        ///         /// 步骤文字颜色        ///         /// The color of the step font.        [Description("步骤文字景色"), Category("自定义")]        public Color StepFontColor        {            get { return m_stepFontColor; }            set            {                m_stepFontColor = value;                Refresh();            }        }        ///         /// The m step width        ///         private int m_stepWidth = 35;        ///         /// 步骤宽度        ///         /// The width of the step.        [Description("步骤宽度景色"), Category("自定义")]        public int StepWidth        {            get { return m_stepWidth; }            set            {                m_stepWidth = value;                Refresh();            }        }        ///         /// The m steps        ///         private string[] m_steps = new string[] { "step1", "step2", "step3" };        ///         /// Gets or sets the steps.        ///         /// The steps.        [Description("步骤"), Category("自定义")]        public string[] Steps        {            get { return m_steps; }            set            {                if (m_steps == null || m_steps.Length Steps.Length)                    return;                m_stepIndex = value;                Refresh();                if (IndexChecked != null)                {                    IndexChecked(this, null);                }            }        }        ///         /// The m line width        ///         private int m_lineWidth = 2;        ///         /// Gets or sets the width of the line.        ///         /// The width of the line.        [Description("连接线宽度,最小2"), Category("自定义")]        public int LineWidth        {            get { return m_lineWidth; }            set            {                if (value < 2)                    return;                m_lineWidth = value;                Refresh();            }        }        ///         /// The m img completed        ///         private Image m_imgCompleted = null;        ///         /// Gets or sets the img completed.        ///         /// The img completed.        [Description("已完成步骤图片,当不为空时,已完成步骤将不再显示数字,建议24*24大小"), Category("自定义")]        public Image ImgCompleted        {            get { return m_imgCompleted; }            set            {                m_imgCompleted = value;                Refresh();            }        }        ///         /// The m LST cache rect        ///         List m_lstCacheRect = new List();        ///         /// Initializes a new instance of the class.        ///         public UCStep()        {            InitializeComponent();            this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);            this.SetStyle(ControlStyles.DoubleBuffer, true);            this.SetStyle(ControlStyles.ResizeRedraw, true);            this.SetStyle(ControlStyles.Selectable, true);            this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);            this.SetStyle(ControlStyles.UserPaint, true);            this.MouseDown = UCStep_MouseDown;        }        ///         /// Handles the MouseDown event of the UCStep control.        ///         /// The source of the event.        /// The instance containing the event data.        void UCStep_MouseDown(object sender, MouseEventArgs e)        {            var index = m_lstCacheRect.FindIndex(p => p.Contains(e.Location));            if (index >= 0)            {                StepIndex = index 1;            }        }        ///         /// 引发 事件。        ///         /// 包含事件数据的 。        protected override void OnPaint(PaintEventArgs e)        {            base.OnPaint(e);            var g = e.Graphics;            g.SetGDIHigh();            if (m_steps != null && m_steps.Length > 0)            {                System.Drawing.SizeF sizeFirst = g.MeasureString(m_steps[0], this.Font);                int y = (this.Height - m_stepWidth - 10 - (int)sizeFirst.Height) / 2;                if (y < 0)                    y = 0;                int intTxtY = y m_stepWidth 10;                int intLeft = 0;                if (sizeFirst.Width > m_stepWidth)                {                    intLeft = (int)(sizeFirst.Width - m_stepWidth) / 2 1;                }                int intRight = 0;                System.Drawing.SizeF sizeEnd = g.MeasureString(m_steps[m_steps.Length - 1], this.Font);                if (sizeEnd.Width > m_stepWidth)                {                    intRight = (int)(sizeEnd.Width - m_stepWidth) / 2 1;                }                int intSplitWidth = 20;                intSplitWidth = (this.Width - m_steps.Length - (m_steps.Length * m_stepWidth) - intRight - intLeft) / (m_steps.Length - 1);                if (intSplitWidth < 20)                    intSplitWidth = 20;                m_lstCacheRect = new List();                for (int i = 0; i < m_steps.Length; i )                {                    #region 画圆,横线                    Rectangle rectEllipse = new Rectangle(new Point(intLeft i * (m_stepWidth intSplitWidth), y), new Size(m_stepWidth, m_stepWidth));                    m_lstCacheRect.Add(rectEllipse);                    g.FillEllipse(new SolidBrush(m_stepBackColor), rectEllipse);                    if (m_stepIndex > i)                    {                        g.FillEllipse(new SolidBrush(m_stepForeColor), new Rectangle(new Point(intLeft i * (m_stepWidth intSplitWidth) 2, y 2), new Size(m_stepWidth - 4, m_stepWidth - 4)));                    }                    if (m_stepIndex > i && m_imgCompleted != null)                    {                        g.DrawImage(m_imgCompleted, new Rectangle(new Point((intLeft i * (m_stepWidth intSplitWidth) (m_stepWidth - 24) / 2), y (m_stepWidth - 24) / 2), new Size(24, 24)), 0, 0, m_imgCompleted.Width, m_imgCompleted.Height, GraphicsUnit.Pixel, null);                    }                    else                    {                        System.Drawing.SizeF _numSize = g.MeasureString((i 1).ToString(), this.Font);                        g.DrawString((i 1).ToString(), Font, new SolidBrush(m_stepFontColor), new Point(intLeft i * (m_stepWidth intSplitWidth) (m_stepWidth - (int)_numSize.Width) / 2 1, y (m_stepWidth - (int)_numSize.Height) / 2 1));                    }                    #endregion                    System.Drawing.SizeF sizeTxt = g.MeasureString(m_steps[i], this.Font);                    g.DrawString(m_steps[i], Font, new SolidBrush(m_stepIndex > i ? m_stepForeColor : m_stepBackColor), new Point(intLeft i * (m_stepWidth intSplitWidth) (m_stepWidth - (int)sizeTxt.Width) / 2 1, intTxtY));                }                for (int i = 0; i < m_steps.Length; i )                {                    if (m_stepIndex > i)                    {                        if (i != m_steps.Length - 1)                        {                            if (m_stepIndex == i 1)                            {                                g.DrawLine(new Pen(m_stepForeColor, m_lineWidth), new Point(intLeft i * (m_stepWidth intSplitWidth) m_stepWidth - 3, y ((m_stepWidth) / 2)), new Point(intLeft i * (m_stepWidth intSplitWidth) m_stepWidth intSplitWidth / 2, y ((m_stepWidth) / 2)));                                g.DrawLine(new Pen(m_stepBackColor, m_lineWidth), new Point(intLeft i * (m_stepWidth intSplitWidth) m_stepWidth intSplitWidth / 2, y ((m_stepWidth) / 2)), new Point(intLeft (i 1) * (m_stepWidth intSplitWidth) 10, y ((m_stepWidth) / 2)));                            }                            else                            {                                g.DrawLine(new Pen(m_stepForeColor, m_lineWidth), new Point(intLeft i * (m_stepWidth intSplitWidth) m_stepWidth - 3, y ((m_stepWidth) / 2)), new Point(intLeft (i 1) * (m_stepWidth intSplitWidth) 10, y ((m_stepWidth) / 2)));                            }                        }                    }                    else                    {                        if (i != m_steps.Length - 1)                        {                            g.DrawLine(new Pen(m_stepBackColor, m_lineWidth), new Point(intLeft i * (m_stepWidth intSplitWidth) m_stepWidth - 3, y ((m_stepWidth) / 2)), new Point(intLeft (i 1) * (m_stepWidth intSplitWidth) 10, y ((m_stepWidth) / 2)));                        }                    }                }            }        }    }}
    2020-12-11下载
    积分:1
  • C# .net 400个经典例子下载
    word文档的形式,每个实例都有截图和核心源码,适合初学者学习
    2014-03-10下载
    积分:1
  • .NET Reflector 5.0 使用例子(反编译软件)
    .NET Reflector 5.0 Release Notes 28 December 2006 Reflector is a class browser for .NET components. It allows browsing and searching the meta data, IL instructions, resources and XML documentation stored in a .NET assembly. Reflector was first released in October 2000 running on .NET Framework 1.0 Beta. LINQ and .NET Framework 3.5: Reflector supports query expressions and other concepts introduced in C# 3.5. To enable this feature select ".NET 3.5" under View, Options, Disassembler, Optimization. .NET Framework compatibility: Reflector runs on all versions of the .NET Framework using its own assembly loading infrastructure which does not rely on the Reflection API. For example, Reflector can load .NET Framework 2.0 assemblies without having the .NET Framework 2.0 installed. Assembly Lists: When launched for the first time, Reflector allows you to choose a default set of assemblies. The list of assemblies is then stored in the Reflector.cfg file and will be loaded next time you open the program. Reflector allows creating multiple assembly lists and switching between the lists using the File, Open List dialog. To choose a different set of default assemblies for the current assembly list you should remove all assemblies from the list (DEL) and invoke the Refresh command (F5). Assembly Cache: When resolving an assembly reference, Reflector will first search the local path next to the assembly holding the reference and then falls back to the cache directories defined in the Reflector.cfg file. Reflector does not search the Global Assembly Cache (GAC) unless you add "%SystemRoot%Assembly" to the cache directories list. Assembly Versioning: By default, assembly version numbers are ignored when resolving type and member references. You can enable side-by-side versioning in the options dialog but it is suggested to avoid this if possible. Add-Ins: Information about the Reflector add-in model can be found here. The most recent version of .NET Reflector is available here. Disclaimer: This software is provided "AS IS" with no warranties of any kind. The entire risk arising out of the use or performance of the software is with you.
    2015-06-15下载
    积分:1
  • c# 音卡电话呼叫系统 源码
    说明:visual C#编写实现语音卡电话呼叫系统,本实例使用了语音卡中的newsig.dll和tc08a32.dll组件,运行前需将其拷贝到Debug文件夹中。本语音卡程序展示了一个完整的电话来电的处理过程,比如来电接听、响铃、未接电话、遇忙转换等,另外也演示了如何按数字键盘后在屏幕上显示拨打的号码,检测通道总数,并为每个通道分配语音缓冲区,初始化语音卡硬件,作者有版权,仅供学习与参考。
    2017-06-18下载
    积分:1
  • C# .NET 搜易站内搜索引擎
    搜易站内搜索引擎 V1.9更新说明: 1,搜索历史记录和TAG功能的数据库存储由Access改为MYSQL2,新增搜素类型是否在搜索框上面显示控制开关(且分PC版和手机版)3,手机版新增显示图片 搜索结果显示频道名称功能4,搜索首页调用搜索历史记录,显示新词和热词,且可自定义显示数量5,新增相关内容生成功能   软件功能: 1,智能中文分词:集成自主研发的面向站内搜索优化的细粒度中文分词充分兼顾搜准率和搜全率; 2,多数据库支持:目前支持应用最广泛的MS SQL SERVER ,Access,MySQL数据库,在后台点点鼠标即可完成数据库数据汇入索引库的匹配; 3,毫秒级的速度:基于倒排索引全文索引技术核心,实现索引分块存储千万级数据,毫秒级的搜索速度; 4,频道管理模式:采用频道化概念,可以跨数据库,跨表建立博客,视频,下载等多种频道类别的搜索功能,当然,全站搜索功能自然不会少的; 5,同义词搜索:提供自定义同义词组功能,搜索结果更符合用户需求; 6,广告位管理:管理广告更方便快捷; 7,TAG聚合功能:批量导入,生成相关性极高的TAG聚合静态页,做网站必备的流量利器; 8,搜索关键词记录:了解用户需求提供了新的方式,了解用户,才能更好的留住用户; 9,JS外部调用:实现“相关文章”,创建关键词专题的最方便最佳解决方案; 10,移动版:专为手机等移动终端优化的站内搜索,移动互联网时代,站内搜索也不落后。 运行环境: 支持Microsoft .Net Framework 2.0的Windows系列操作系统,需安装IIS组件服务。 适用领域: 适合新闻资讯,博客日志等文章类的全文搜索
    2014-10-17下载
    积分:1
  • c# 随机背景 随机字体 随机干扰线 验证码 实例源码
    c# 随机背景 随机字体 随机干扰线 验证码 实例源码
    2014-06-11下载
    积分:1
  • P+F r2000 sample
    R2000-UHD demo
    2020-02-20下载
    积分:1
  • C#调用微信jssdk示例源码(实现了获取当前地址位置功能)
    C#调用微信jssdk示例源码(实现了获取当前地址位置功能)
    2017-09-25下载
    积分:1
  • 696518资源总数
  • 104524会员总数
  • 16今日下载