?? tw8adll.txt
字號:
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 + -