基本信息
源码名称:c# 语音卡电话呼叫系统 源码
源码大小:1.28M
文件格式:.rar
开发语言:C#
更新时间:2017-06-18
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍

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

 private void timer1_Tick(object sender, EventArgs e)
        {
            //维持断续振铃及信号音的函数
            DJ160API.PUSH_PLAY();
            DJ160API.FeedSigFunc();
            for (int i = 0; i < m_Chanels; i )
            {
                switch (Lines[i].State)
                {
                    case CHANNEL_STATE.CH_DIAL:
                        {
                            label2.Text = "拨号中...";
                            //检测某路DTMF发送是否结束,为1,以发送完毕,可以开始信号音检测
                            if (DJ160API.CheckSendEnd(i) == 1)
                            {
                                DJ160API.StartSigCheck(i);
                                Lines[i].State = CHANNEL_STATE.CH_CHECKSIG;
                            }
                            break;
                        }
                    case CHANNEL_STATE.CH_CHECKSIG:
                        {
                            short tt = DJ160API.Sig_CheckDial(i);
                            if (tt == S_BUSY)
                            {
                                Lines[i].State = CHANNEL_STATE.CH_BUSY;//对方占线
                            }
                            else if (tt == S_CONNECT)
                            {
                                Lines[i].State = CHANNEL_STATE.CH_Connect;//已连接
                            }
                            else if (tt == S_NOSIGNAL)
                            {
                                Lines[i].State = CHANNEL_STATE.CH_NOSIGNAL;//没有信号
                            }
                            else if (tt == S_NOBODY)
                            {
                                Lines[i].State = CHANNEL_STATE.CH_NOBODY;//无人接听
                            }
                            else if (tt == S_NODIALTONE)
                            {
                                Lines[i].State = CHANNEL_STATE.CH_NODIALTONE;//没有信号音
                            }
                            break;
                        }
                    case CHANNEL_STATE.CH_NODIALTONE: //没有信号音
                        pictureBox11_Click(sender, e);
                        break;
                    case CHANNEL_STATE.CH_NOSIGNAL:   //没有信号
                        pictureBox11_Click(sender, e);
                        break;
                    case CHANNEL_STATE.CH_BUSY:       //对方占线(检测到忙音)
                        {
                            pictureBox11_Click(sender, e);
                            break;
                        }
                    case CHANNEL_STATE.CH_Connect:
                        label2.Text = "已连接";
                        break;

                    case CHANNEL_STATE.CH_NOBODY:
                        label2.Text = "无人接听";
                        pictureBox11_Click(sender, e);
                        break;
                }
            }
        }