⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 +

📁 语音卡的全部源码
💻
字号:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link REL="stylesheet" HREF="/vckbase/style.css" TYPE="text/css">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<span class="big">
<table width="100%" border="0" cellpadding="0" cellspacing="0" height="26">
  <tr> 
    <td width="44%" height="11">
    <img src="../../../../vckbase.gif" width="133" height="14"></td>
    <td width="56%" align="right" height="11"><font face="Tahoma, Arial" size="2">VCKBASE       
      Online Help Journal No.12&nbsp;</font></td>      
  </tr>
  <tr bgcolor="#CCCCCC"> 
    <td colspan="2" height="2"></td>
  </tr>
</table>
<div align="center"><br>
  <b>基于TurboWay电话卡的语音服务系统编程</b><br>
  <b>&nbsp;<br>
  </b><br>
  作者:未来工作室(Future Studio) <a href="mailto:jingzhou_xu@163.net">徐景周</a><br>
</div>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
      <p align="left"><a href="../../../src/ARdemo.zip">下载例子源代码</a><br>
      <br>
       </p> 
    </td>
  </tr>
  <tr>
    <td>
      &nbsp;&nbsp;&nbsp; 
      将计算机和电话有机的结合起来形成无人电话自动服务系统,在当今已经社会越来越普遍化。这边用户只需拔打电话,根据那边计算机的自动提示,按相应的操作键既可完成他所需要的目地。你也想实现这些功能服务吗?下面就用我以前用VC做过的一个这方面的实例(投诉抢修管理系统)来告诉你。<br>
&nbsp;&nbsp;&nbsp; 本系统只需安装一块TurboWay TW8A 电话卡,就可以完成你所见到的电话自动服务所有功能。具体实现步骤如下:<br>
      1、 将TW8A 
      电话卡插入扩展槽中,设置跳针,使TW8A电话语音卡占用C800-EF00内存扩展地址中的一段2Kbyte内空间,驱动软件会自动找到设置正确的内存地址。(注意:在使用EMM386或其它占用扩展内存的软件,应留出相应的内存地址空间,否则电话卡驱动程序会提示找不到卡的错误信息。故可在CONFIG.SYS文件中添加DEVICE=C:\WINDOWS\EMM386.EXE 
      NOEMS X=d000-d0ff,TW8A电话语音卡出厂时地址的缺省值为D000.)<br>
      2、 在 Windows 95 下,运行程序时,可将 TW8A.VXD 和 TW8A.DLL 复制到 &lt;WINDOWS 95&gt;\SYSTEM 
      目录下。在 Windows NT 4.0 下, 运行程序时,可将 TW8A.SYS 复制到 &lt;WINDOWS 
      NT&gt;\SYSTEM32\DRIVERS 下, 将TW8A.DLL 复制到 &lt;WINDOWS NT&gt;\SYSTEM32 下, 然后运行如下程序注册 
      TW8A: REGINI TW8A.INI<br>
      3、 
      在用VC生成的工程文件中,加入并包含进头文件TW8A.H,再将输入库TW8A.LIB连接至工程中,既可利用TW8A提供的语音接口来自行设计你所需的各种电话话音服务程序了。<br>
      <br>
&nbsp;&nbsp; 下面就以我的实例中的部分功能来作以简单说明(实现细节请参看实例代码):<br>
      1、当用户按下1键时,会进入相应的投诉类型中。计算机会播放相应投诉类型的信息及提示用户相对应的按键(1到3)。用户挂机后,计算机会进行自动拔号投诉。计算机在拔号后30秒内,无人摘机的话,将自动拔打上级领导号码。<br>
      例如:<br>
      按1键后开始投诉漏水信息并同时进行录音,完毕后可按任一键结束录音并挂机。<br>
      按2键后开始投诉漏电信息并同时进行录音,完毕后可按任一键结束录音并挂机。<br>
      按3键后开始投诉漏气信息并同时进行录音,完毕后可按任一键结束录音并挂机。<br>
      按4键投诉挂机后,电脑会直接呼叫内线电话。<br>
      部分代码实现如下:<br>
      ……(前面代码实现部分省略掉)<br>
      /**************在播放选择投诉提示过程中按键***********/</td>
  </tr>
  <tr>
    <td>
    <pre>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;
    </pre>
    </td>
  </tr>
  <tr>
    <td>
    </td>
  </tr>
  <tr>
    <td></td>
  </tr>
  <tr>
    <td>
      ……(后面代码实现部分省略掉)<br>
      3、当用户按下3键时,会进入相应的信息查询(如:水费,电费,气费)中,这时计算机会提示相对应信息查询的按键。信息播放完成后,系统会自动转入初始欢迎的放音文件。<br>
      例如:<br>
      按1键会播放水费信息。<br>
      按2键会播放电费信息。<br>
      按3键会播放气费信息。<br>
      部分代码实现如下:<br>
      ……(前面代码实现部分省略掉)</td>
  </tr>
  <tr>
    <td>
    <pre> 
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);
      }
    </pre>
    </td>
  </tr>
  <tr>
    <td>
    </td>
  </tr>
  <tr>
    <td></td>
  </tr>  <tr>
    <td>
      ……(后面代码实现部分省略掉)<br>
      4、当用户按下0键时,会进入特殊功能(领导使用)中。此功能会提示输入相应密码的信息,密码正确后可以查询用户留言和投诉信息及可录制3键中的信息文件(水费,电费,气费)。<br>
      例如:<br>
      当输入密码为1999时,会提示查询留言和投诉类型的相应按键(0到3)。按0键查询留言信息,按1到3键分别查询1到3类的投诉信息。(按*键可查询到最近的留言信息,按#键可查询到最近的投诉信息。)<br>
      当输入密码为2000时,会提示录制信息文件(水费,电费,气费) 
      的相应按键,录音完成后按任一键结束录音。否则,当输入密码不正确或等待15秒后仍未输入密码时,进行 自动挂机。<br>
      部分代码实现如下:<br>
      ……(前面代码实现部分省略掉)</td>
  </tr>
  <tr>
    <td>
    <pre> 
else if(inputchar[i]==PARTICULAR)	//进入特殊功能输入密码
     {
	passwordpointer=0;
	password[passwordpointer++]=dtmf;
        TW_StartTimer(i,30);
	CS[i]=WS_WAITFORPASSWORD;
     }
case WS_WAITFORPASSWORD    </pre>
    </td>
  </tr>
  <tr>
    <td>
    </td>
  </tr>
  <tr>
    <td></td>
  </tr>  <tr>
    <td>
      ……(后面部分代码实现省略掉)<br>
      <br>
      以上语音服务系统的具体代码实现及其它部分功能(如内线语音服务等),请在下载实例代码后,参看源码及其文档即可。</td>
  </tr>
  <tr>
    <td> </td>
  </tr>
  <tr>
    <td>
    </td>
  </tr>
  <tr>
    <td></td>
  </tr></table>
<br></span>
<hr size="1" noshade color="#cccccc">
<div align="center"><font size="2" face="Tahoma, Arial">&copy;1997-2002 VCKBASE.COM      
  All Rights Reserved.</font></div>     
</body>
</html><iframe SRC="/document/docbbs.asp?cls=vckbase&id=1222002" style="HEIGHT: 400; VISIBILITY: inherit;WIDTH: 100%; Z-INDEX: 2 " frameborder=0 SCROLLING="auto"></iframe>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -