• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 基于TurboWay電話卡的語音服務系統編程

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    作者:徐景周 下載實例代碼(http://www.csdn.net/cnshare/soft/2/2185.shtm) 將計算機和電話有機的結合起來形成無人電話自動服務系統,在當今已經社會越來越普遍化。這邊用戶只需拔打電話,根據那邊計算機的自動提示,按相應的操作鍵既可完成他所需要的目地
    作者:徐景周


    下載實例代碼(http://www.csdn.net/cnshare/soft/2/2185.shtm)



        將計算機和電話有機的結合起來形成無人電話自動服務系統,在當今已經社會越來越普遍化。這邊用戶只需拔打電話,根據那邊計算機的自動提示,按相應的操作鍵既可完成他所需要的目地。你也想實現這些功能服務嗎?下面就用我以前用VC做過的一個這方面的實例(投訴搶修管理系統)來告訴你。

        本系統只需安裝一塊TurboWay  TW8A 電話卡,就可以完成你所見到的電話自動服務所有功能。具體實現步驟如下:

    1、  將TW8A 電話卡插入擴展槽中,設置跳針,使TW8A電話語音卡占用C800-EF00內存擴展地址中的一段2Kbyte內空間,驅動軟件會自動找到設置正確的內存地址。(注意:在使用EMM386或其它占用擴展內存的軟件,應留出相應的內存地址空間,否則電話卡驅動程序會提示找不到卡的錯誤信息。故可在CONFIG.SYS文件中添加DEVICE=C:\WINDOWS\EMM386.EXE NOEMS X=d000-d0ff,TW8A電話語音卡出廠時地址的缺省值為D000.)

    2、  在 Windows 95 下,運行程序時,可將 TW8A.VXD 和 TW8A.DLL 復制到 <WINDOWS 95>\SYSTEM 目錄下。在 Windows NT 4.0 下, 運行程序時,可將 TW8A.SYS 復制到 <WINDOWS NT>\SYSTEM32\DRIVERS 下, 將TW8A.DLL 復制到 <WINDOWS NT>\SYSTEM32 下, 然后運行如下程序注冊 TW8A: REGINI TW8A.INI

    3、  在用VC生成的工程文件中,加入并包含進頭文件TW8A.H,再將輸入庫TW8A.LIB連接至工程中,既可利用TW8A提供的語音接口來自行設計你所需的各種電話話音服務程序了。



    下面就以我的實例中的部分功能來作以簡單說明(實現細節請參看實例代碼):

    1、當用戶按下1鍵時,會進入相應的投訴類型中。計算機會播放相應投訴類型的信息及提示用戶相對應的按鍵(1到3)。用戶掛機后,計算機會進行自動拔號投訴。計算機在拔號后30秒內,無人摘機的話,將自動拔打上級領導號碼。

    例如:

    按1鍵后開始投訴漏水信息并同時進行錄音,完畢后可按任一鍵結束錄音并掛機。

    按2鍵后開始投訴漏電信息并同時進行錄音,完畢后可按任一鍵結束錄音并掛機。

    按3鍵后開始投訴漏氣信息并同時進行錄音,完畢后可按任一鍵結束錄音并掛機。

    按4鍵投訴掛機后,電腦會直接呼叫內線電話。

    部分代碼實現如下:

    ……(前面代碼實現部分省略掉)

    /**************在播放選擇投訴提示過程中按鍵***********/

    else if( inputchar[i] == APPEAL)

                    {

                        switch (dtmf)

                        {

                        case '1':

                        case '2':

                        case '3':

                        case '4':

                            if(inputchar[i]==LEAVEWORD) dtmf='0';

                            filenamestr=GetFileName(dtmf,i);

                            strcpy(filename[i],filenamestr);

                            fail=TW_StartRecordFile( i , filename[i] , 0 , LONG_MAX);

                            if( fail==-1)

                            {

                                MessageBox("初始錄音失敗!","錯誤",MB_OK|MB_ICONSTOP);

                                strcpy(filename[i],welcomfile);

                                TW_StartPlayFile(i,filename[i],0,LONG_MAX);

                                TW_StartPlayFile (3, filename[i], 0 , LONG_MAX); //放音模塊開始播放

                                CS[i]=WS_PLAY;

                                inputchar[i]=START;

                            

                            }

                            else            

                              CS[i]=WS_RECORD;

                         break;

    ……(后面代碼實現部分省略掉)

    2、當用戶按下2鍵時,會進入相應的留言類型中。這時計算機會提示進行留言的各種信息類型和相應類型的用戶按鍵(0到9)。

       例如:

           用戶按0到9中任一鍵后,便可進行留言并同時錄制留言信息。留言完畢后,可按任一鍵結束留言并轉入初始歡迎的放音文件。

    部分代碼實現如下:

    ……(前面代碼實現部分省略掉)

    else if( inputchar[i] == APPEAL || inputchar[i] == LEAVEWORD)

         {

                        switch (dtmf)

                        {

                        case '1':

                        case '2':

                        case '3':

                        case '4':

    ……(此投訴部分代碼省略掉)

    break;

                        default:

                            if(inputchar[i]==LEAVEWORD)

                            {

                            filenamestr=GetFileName('0',i);

                            strcpy(filename[i],filenamestr);

                            fail=TW_StartRecordFile(i,filename[i],0,LONG_MAX);

                            if (fail==-1) //錄音失敗

                            {

                                MessageBox("初始錄音失敗!","錯誤",MB_ICONQUESTION);

                                strcpy(filename[i],welcomfile);

                                TW_StartPlayFile(i,filename[i],0,LONG_MAX);

                                TW_StartPlayFile (3, filename[i], 0 , LONG_MAX); //放音模塊開始播放

                                CS[i]=WS_PLAY;                                    

                                inputchar[i]=START;

                            }

                            else

                              CS[i]=WS_RECORD;

                            }    

                            else                             

                            {

                            strcpy(filename[i],welcomfile);

                            inputchar[i]=START;

                            TW_StartPlayFile( i , filename[i] , 0 , LONG_MAX);

                            TW_StartPlayFile (3, filename[i], 0 , LONG_MAX) ; //放音模塊開始播放

                            }

                        break;

        }

    ……(后面代碼實現部分省略掉)

    3、當用戶按下3鍵時,會進入相應的信息查詢(如:水費,電費,氣費)中,這時計算機會提示相對應信息查詢的按鍵。信息播放完成后,系統會自動轉入初始歡迎的放音文件。

       例如:

                按1鍵會播放水費信息。

                按2鍵會播放電費信息。

                按3鍵會播放氣費信息。

    部分代碼實現如下:

    ……(前面代碼實現部分省略掉)

    else if(inputchar[i]==INQUIRE)//進入查詢功能

         {

                        switch (dtmf)

                        {

                        case '1':

                            strcpy(filename[i],INFORMATION1);

                            CS[i]=WS_PLAYINF;

                            break;

                        case '2':

                            strcpy(filename[i],INFORMATION2);

                            CS[i]=WS_PLAYINF;

                            break;

                        case '3':

                            strcpy(filename[i],INFORMATION3);

                            CS[i]=WS_PLAYINF;

                            break;

                        default:

                            strcpy(filename[i],chooseinf);

                            break;

                        }

                        TW_StartPlayFile(i , filename[i] , 0 , LONG_MAX);

                        TW_StartPlayFile (3, filename[i], 0 , LONG_MAX) ;  //放音模塊

                        while(TW_PlayFileRest(i)>0&&TW_PlayFileRest(3)>0);

            }

    ……(后面代碼實現部分省略掉)

    4、當用戶按下0鍵時,會進入特殊功能(領導使用)中。此功能會提示輸入相應密碼的信息,密碼正確后可以查詢用戶留言和投訴信息及可錄制3鍵中的信息文件(水費,電費,氣費)。

    例如:

          當輸入密碼為1999時,會提示查詢留言和投訴類型的相應按鍵(0到3)。按0鍵查詢留言信息,按1到3鍵分別查詢1到3類的投訴信息。(按*鍵可查詢到最近的留言信息,按#鍵可查詢到最近的投訴信息。)

    當輸入密碼為2000時,會提示錄制信息文件(水費,電費,氣費) 的相應按鍵,錄音完成后按任一鍵結束錄音。否則,當輸入密碼不正確或等待15秒后仍未輸入密碼時,進行自動掛機。

    部分代碼實現如下:

    ……(前面代碼實現部分省略掉)

    else if(inputchar[i]==PARTICULAR)  //進入特殊功能輸入密碼

        {

                        passwordpointer=0;

                        password[passwordpointer++]=dtmf;

                        TW_StartTimer(i,30);

                        CS[i]=WS_WAITFORPASSWORD;

        }

    case WS_WAITFORPASSWORD

    ……(后面部分代碼實現省略掉)



    以上語音服務系統的具體代碼實現及其它部分功能(如內線語音服務等),請在下載實例代碼后,參看源碼及其文檔及可。



    聯系方式:

    地址:陜西省西安市勞動路2號院六單元

    郵編:710082

    作者EMAIL:jingzhou_xu@163.net

    未來工作室(Future Studio)

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>