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

📄 tw8adll.txt

📁 处理各种电话投诉的危机情况
💻 TXT
📖 第 1 页 / 共 5 页
字号:
                   18           负号   '-'  的语音文件

TW_PlaySentence 
---------------
语法:
      C :      LONG     TW_PlaySentence (WORD Ch, LPSTR Sentence)
      VB:      Function TW_PlaySentence (ByVal Ch As Long, ByVal Sentence As String) As Long 
      Delphi:  function function TW_PlaySentence(Ch:WORD;Sentence:PChar):longint
      VF:      TW_PlaySentence (Ch, Sentence)
      PB:      FUNCTIONE Long TW_PlaySentence(UnsignedInteger Ch, String Sentence)
功能: 根据语句字符串开始多文件放音
参数: Ch:       通道号
      Sentence: 语句字符串
返回: 语句字符串中所有语音数据的字节数 (-1 : 失败)
说明: 本函数通过它的第二个参数 (称为 "语句字符串")  将多个
      语音文件组合起来连续放音. 在调用函数前, 必须先调用
      TW_SetVoice()或TW_SetVoicei()建立字符与语音文件的对应
      关系.

TW_PlaySentenceRest 
-------------------
语法:
      C :      LONG     TW_PlaySentenceRest(WORD Ch)
      VB:      Function TW_PlaySentenceRest(ByVal Ch As Long) As Long 
      Delphi:  function function TW_PlaySentenceRest(Ch:WORD):longint
      VF:      TW_PlaySentenceRest(Ch)
      PB:      FUNCTION Long TW_PlaySentenceRest(UnsignedInteger Ch)
功能: 判断某一通道的多文件放音是否结束, 并继续多文件放音
参数: 通道号
返回: 剩余的字节数 (0 : 放音结束)
说明: 应用程序必须循环调用此函数来检测放音是否结束, 并继续多文件放音.


拨号及收发 DTMF 码函数:
#########################

TW_StartDial
------------
语法:
      C :      DWORD TW_StartDial(WORD Ch, LPCSTR DialStr)
      VB:      Function TW_StartDial(ByVal Ch As Integer, ByVal DialStr As String) As Long 
      Delphi:  function  TW_StartDial(Ch: WORD; DialStr: PChar): Cardinal
      VF:      TW_StartDial(Ch, DialStr)
      PB:      FUNCTION UnsignedLong TW_StartDial(UnsignedInteger Ch, String DialStr)  
功能: 某一通道进行自动拨号
参数: Ch:      通道号
      DialStr: 拨号字符串
返回: 上次拨号时没有拨完的字符数
说明: 有效的拨号字符是 '0' - '9', '*', '#', 'A' - 'D', 'a' - 'd', 另外,
      控制码 ',' 表示在拨号过程中延时 1 秒钟, 控制码 'P' 或 'p' 表示后续
      的字符以脉冲方式拨出, 控制码 'T' 或 't' 表示后续的字符以双音频方式
      拨出, 控制码 'P', 'p', 'T', 't' 只用于控制外线拨号. 如果字符串中有
      无效的字符, 则在拨号时被忽略

      在对外线拨号时, 如果处于脉冲方式, 则可以拨发控制码 'R' 或 'r', 这样
      可以产生一次拍叉簧的动作. 拍叉簧的延时时间为 120 ms, 如果需要增加延
      时, 可以在 'P' 和 'R' 的中间加上控制码 '^', 每加一个 '^', 延时时间
      增加 40 ms. 例如拨号 "P^^^^^R" 即可产生 320 ms 延时的拍叉簧动作

      缺省时, 每拨一个号所占的时间长度为 240 ms, 其中发号占 100 ms, 间隔
      延时为 140 ms. 如果需要加快拨号速度, 则可以使用 120 ms (50 ms + 70
      ms) 的快速拨号模式. 拨号控制码 'Z' 转换到标准拨号模式, 拨号控制码
      'z' 转换到快速拨号模式.

      对于有极性反转功能的线路, 本函数还自动保存当前外线通道的极性状态, 以
      便 TW_ListenerOffHook(...)  函数检测外线的摘机情况.
      参见 TW_ListenerOffHook(...)

TW_StopDial
-----------
语法:
      C :      DWORD TW_StopDial(WORD Ch)
      VB:      Function TW_StopDial(ByVal Ch As Integer) As Long 
      Delphi:  function TW_StopDial(Ch: WORD): Cardinal
      VF:      TW_StartDial(Ch)
      PB:      FUNCTION UnsignedLong TW_StopDial(UnsignedInteger Ch)
功能: 停止某一通道的自动 DTMF 拨号
参数: Ch: 通道号
返回: 没有拨完的字符数

TW_DialRest
-----------
语法:
      C :      DWORD TW_DialRest(WORD Ch)
      VB:      Function TW_DialRest(ByVal Ch As Integer) As Long 
      Delphi:  function TW_DialRest(Ch: WORD): Cardinal
      VF:      TW_DialRest(Ch)
      PB:      FUNCTION UnsignedLong TW_DialRest(UnsignedInteger Ch)
功能: 查询某一通道有多少字节没有拨完, 若没拨完, 继续拨号
参数: Ch: 通道号
返回: 没有拨完的字节数, 如果为 0, 则表示自动 DTMF 拨号结束
说明: 自动拨号后一般要调用TW_StartTimer(...), TW_MonitorOffHook(...) 或
      TW_ListenerOffHook(...) 来判断被呼叫方是否已经摘机, 在这种情况下,
      一定要在 TW_DialRest(...) 返回为 0, 也即自动拨号结束后, 才能够
      调用 TW_StartTimer(...), 否则, 计时器的时间中就会包括拨号的时间,
      从而影响摘机检查的结果.

TW_FlushDTMF
------------
语法:
      C :      void TW_FlushDTMF(WORD Ch)
      VB:      Sub TW_FlushDTMF(ByVal Ch As Integer) 
      Delphi:  procedure TW_FlushDTMF(Ch: WORD)
      VF:      TW_FlushDTMF(Ch)
      PB:      SUBROUTINE TW_FlushDTMF(UnsignedInteger Ch)
功能: 清除某一通道的 DTMF 接收缓冲区
参数: Ch: 通道号
返回: 无

TW_GetDTMFChar
--------------
语法:
      C :      int TW_GetDTMFChar(WORD Ch)
      VB:      Function TW_GetDTMFChar(ByVal Ch As Integer) As Integer 
      Delphi:  function TW_GetDTMFChar(Ch:WORD):integer
      VF:      TW_GetDTMFChar(Ch)
      PB:      Function Integer TW_GetDTMFChar(UnsignedInteger Ch)
功能: 获取某一通道接收到的一个 DTMF 字符
参数: Ch: 通道号
返回: 接收到的 DTMF 字符的整数表示
说明: 如果返回 -1, 则表示没有接收到 DTMF 字符
      对于内线通道, TW8A 也可以接收脉冲拨号, 请参看 TW_PulseMode(...).
      对于外线通道, 如果系统中安装了脉冲拨号接收板, TW8A 也可以接收外
      线的脉冲拨号, 在下面的函数中接收到的 DTMF 字符的 ASCII 码如果是
      70H 到 79H, 则表示接收到的不是 DTMF 码, 而是外线的脉冲拨号数据,
      对应于 '0' 到 '9'.

TW_GetDTMFStr
-------------
语法:
      C :      LPSTR TW_GetDTMFStr(WORD Ch, LPSTR DTMFStr)
      VB:      Function TW_GetDTMFStr(ByVal Ch As Integer, ByVal DTMFStr As String) As Long 
      Delphi:  function TW_GetDTMFStr(Ch:WORD;DTMFStr:PChar):PChar
      VF:      TW_GetDTMFStr(Ch,DTMFStr)
      PB:      FUNCTION Long TW_GetDTMFStr(UnsignedInteger Ch, REF String DTMFStr)
功能: 获取某一通道接收到的 DTMF 字符串
参数: Ch: 通道号
      DTMFStr: 用来保存返回的DTMF码串的缓冲区
返回: 内部DTMF 码接收缓冲区的地址(只对C和Delphi有效)
说明: 函数调用前, 必须给参数DTMFStr分配足够的空间.
      内部缓冲区最多只能容纳 32 个 DTMF 字符, 如果应用程序需要接收更多的
      字符, 可以调用 TW_GetDTMFChar(...) 将字符放到自定义缓冲区中进行处理


通道连接交换函数:
#################

注意: 当通道 1 连接到通道 2 之后(即通道2能收到通道1的信号), 那么:
      1. 如果再将通道 3 连接到通道 2, 则通道 1 至通道 2 的连接被自动切断
      2. 如果对通道 2 进行自动拨号, 则通道 1 至通道 2 的连接被自动切断
      3. 如果对通道 2 进行放音操作, 则通道 1 至通道 2 的连接被自动切断
      4. 如果对通道 2 产生信号音, 则通道 1 至通道 2 的连接被自动切断

TW_ConnectChannels
------------------
语法:
      C :      void TW_ConnectChannels(WORD Ch1, WORD Ch2)
      VB:      Sub TW_ConnectChannels(ByVal Ch1 As Integer, ByVal Ch2 As Integer) 
      Delphi:  procedure TW_ConnectChannels(Ch1,Ch2:WORD)
      VF:      TW_ConnectChannels(Ch1,Ch2)
      PB:      SUBROUTINE TW_ConnectChannels( UnsignedInteger Ch1, UnsignedInteger Ch2)
功能: 将某两个通道互相连通
参数: Ch1: 通道号 1
      Ch2: 通道号 2
返回: 无

TW_DisconnectChannels
---------------------
语法:
      C :      void TW_DisconnectChannels(WORD Ch1, WORD Ch2)
      VB:      Sub TW_DisconnectChannels(ByVal Ch1 As Integer, ByVal Ch2 As Integer) 
      Delphi:  procedure TW_DisconnectChannels(Ch1,Ch2:WORD)
      VF:      TW_DisconnectChannels(Ch1,Ch2)
      PB:      SUBROUTINE TW_DisconnectChannels(UnsignedInteger Ch1, UnsignedInteger Ch2)
功能: 断开由 TW_ConnectChannels(...) 所连通的某两个通道
参数: Ch1: 通道号 1
      Ch2: 通道号 2
返回: 无

TW_ConnectTo
------------
语法:
      C :      void TW_ConnectTo(WORD Ch1, WORD Ch2)
      VB:      Sub TW_ConnectTo(ByVal Ch1 As Integer, ByVal Ch2 As Integer) 
      Delphi:  procedure TW_ConnectTo(Ch1,Ch2:WORD)
      VF:      TW_ConnectTo(Ch1,Ch2)
      PB:      SUBROUTINE TW_ConnectTo(UnsignedInteger Ch1, UnsignedInteger Ch2)
功能: 将通道Ch1单方向连通到通道Ch2(即通道Ch2能收到通道Ch1的信号)
参数: Ch1: 通道号 1
      Ch2: 通道号 2
返回: 无
说明: 在需要三方通话时, 可以调用函数 TW_ConnectTo(...) 将通道 1 连到通道 2,
      通道 2 连到通道 3, 通道 3 连到通道 1

TW_Disconnect
-------------
语法:
      C :      void TW_Disconnect(WORD Ch2)
      VB:      Sub TW_Disconnect(ByVal Ch2 As Integer) 
      Delphi:  procedure TW_Disconnect(Ch2:WORD)
      VF:      TW_Disconnect(Ch2)
      PB:      SUBROUTINE TW_Disconnect(UnsignedInteger Ch2)
功能: 断开由 TW_ConnectTo(...) 所连通的第二个通道
参数: Ch2: 通道号
返回: 无

TW_Connect3
-----------
语法:
      C :      void TW_Connect3(WORD Ch1,WORD Ch2,WORD Ch3)
      VB:      Sub TW_Connect3(ByVal Ch1 As Integer,ByVal Ch2 As Integer,ByVal Ch3 As Integer) 
      Delphi:  procedure TW_Connect3(Ch1,Ch2,Ch3:WORD)
      VF:      TW_Connect3(Ch1,Ch2,Ch3)
      PB:      SUBROUTINE TW_Connect3(UnsignedInteger Ch1, UnsignedInteger Ch2, UnsignedInteger Ch3)
功能: 将三个通道连接起来, 从而实现三方通话
参数: Ch1: 通道号 1
      Ch2: 通道号 2
      Ch3: 通道号 3
返回: 无

TW_Disconnect3
--------------
语法:
      C :      void TW_Disconnect3(WORD Ch1,WORD Ch2, WORD Ch3)
      VB:      Sub TW_Disconnect3(ByVal Ch1 As Integer,ByVal Ch2 As Integer,ByVal Ch3 As Integer) 
      Delphi:  procedure TW_Disconnect3(Ch1,Ch2,Ch3:WORD)
      VF:      TW_Disconnect3(Ch1,Ch2,Ch3)
      PB:      SUBROUTINE TW_Disconnect3(UnsignedInteger Ch1, UnsignedInteger Ch2, UnsignedInteger Ch3)
功能: 断开三方通话的线路
参数: Ch1: 通道号 1
      Ch2: 通道号 2
      Ch3: 通道号 3
返回: 无


与信号音有关的函数:
###################

TW_CheckSignal
--------------
语法:
      C :      WORD TW_CheckSignal(WORD Ch,DWORD *SigCount, DWORD *SigLen)
      VB:      Function TW_CheckSignal(ByVal Ch As Integer, ByRef SigCount As Long, ByRef SigLen As Long) As Integer 
      Delphi:  function TW_CheckSignal(Ch:WORD;var SigCount,SigLen:Cardinal):WORD
      VF:      TW_CheckSignal(Ch,@SigCount,@SigLen)
      PB:      FUNCTION UnsignedInteger TW_CheckSignal(UnsignedInteger Ch, REF UnsignedLong SigCount, REF UnsignedLong SigLen) 
功能: 查询某一通道的信号音结果 (一般来说只查询外线通道)
参数: Ch:       通道号
      SigCount: 信号音个数
      SigLen:   信号音长度 (单位: 40 ms)
返回: 信号音类型 (参阅<系统常量定义>)
说明: 如果需要在某一段时间内检查信号音, 则在开始检查前先调用一次函数
      TW_StartTimer(...), 那么如果在超出定时时间后还检测到 SIG_UNKNOWN,
      那么 SIG_TIMEOUT 将被返回, 如果应用程序不需要超时检查, 那么可以
      对 SIG_TIMEOUT 和 SIG_UNKNOWN 进行相同的处理;

      返回 SIG_UNKNOWN 表示没有检测到任何一种信号音, 此时返回的<信号音
      个数>为最近信号音方波的低信号音的时间(40ms), 返回的<信号音长度>为
      高信号音的时间(40ms), 这两个参数可以用来判断其他的信号音状态;

      如果返回 SIG_SILENCE 或 SIG_DIAL, 则返回的<信号音长度>为无信号音
      或拨号音已经持续的时间(40ms);

      如果返回值为 0 到 (SIGNAL_TYPE - 1), 则返回的<信号音个数>为检测
      到的信号音个数, 返回的<信号音长度>为信号音的总时间长度(40ms)

      请参看函数 TW_MonitorBusy(...)

TW_ListenerOffHook
------------------
语法:
      C :      BOOL TW_ListenerOffHook(WORD Ch)
      VB:      Function TW_ListenerOffHook Lib "tw8a.dll" (ByVal Ch As Integer) As Integer  
      Delphi:  function TW_ListenerOffHook(ch: WORD): Boolean 
      VF:      TW_ListenerOffHook(Ch)
      PB:      FUNCTION Integer TW_ListenerOffHook(UnsignedInteger Ch) 
功能: 在控制某一外线通道摘机并调用 TW_StartDial(...) 自动拨号之后, 此函数
      可以用来查询被呼叫方是否已经摘机
参数: 通道号
返回: 0 : 被呼叫方没有摘机;
      非 0 : 被呼叫方已经摘机
说明: 使用此函数时, 必须要求外线通道所连接的市内电话线路具有<极性反转>

⌨️ 快捷键说明

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