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

📄 module1.bas

📁 某公司的电话录音程序
💻 BAS
字号:
Attribute VB_Name = "Module1"
Global idbuf As String
Global OutputChannels(8) As String
Global LogleText

Global Const LONG_MAX = 16& * 1024& * 1024
Global Const MAX_ADAPTERS = 8
Global Const MAX_CHANNELS = 8 * MAX_ADAPTERS
Global Const CHANNEL_MASK = MAX_CHANNELS - 1
Global Const FILE_FLAG = 1              ' For TV_PlaySentence(...)
Global Const DTMF_LEN = 32

Global Const E_DRIVER = 255  ' TW8V driver not installed
Global Const E_OK = 0        '  OK
Global Const E_COMMAND = 1   ' Invalid command
Global Const E_LENGTH = 2    ' Too few buffer length
Global Const E_PLAY_RECORD = 3 ' Play/Record conflict
Global Const E_CHANNEL = 4         ' Invalid channel number
Global Const E_ARGUMENT = 5     ' 0x05
Global Const E_ERR_SYNC = 6     ' 0x6
Global Const E_OUT_OF_MEMORY = 7 ' 0x7
Global Const E_ERR = 8           '  0x8
Global Const E_RECORD_BUSY = 9   '  0x9
Global Const E_FILEOPEN = 10     '  0xa
Global Const E_PLAY_BUSY = 11    '  0xb

Global Const CT_INTERNAL = 0   ' Internal channel
Global Const CT_EXTERNAL = 1   ' External channel
Global Const CT_EMPTY = 2      ' Empty channel

Global Const RATE_64K = 0
Global Const RATE_32K = 1
Global Const RATE_16K = 2
Global Const RATE_8K = 3
Global Const RATE_48K = 4
Global Const RATE_24K = 5
Global Const RATE_12K = 6
Global Const RATE_6K = 7

Global Const SIGNAL_TYPE = 8    '0X08
Global Const SIG_UNKNOWN = 96   '0X60
Global Const SIG_TIMEOUT = 97   '0X61
Global Const SIG_OFFHOOK = 98   '0X62
Global Const SIG_NOBODY = 99    '0X63

Global Const SIG_SILENCE = 64  '0X40
Global Const SIG_DIAL = 65     '0x41

Global Const SIG_RING = 0     ' 0x00
Global Const SIG_BUSY1 = 1    ' 0x01
Global Const SIG_BUSY2 = 2    ' 0x02

' CHAR_NAME is for TV_MakeSentence(...)
'Type enum
Global Const CN_END = 0             ' End of sentence (Also end of string)
Global Const CN_NOTHING = 1           ' Do nothing
Global Const CN_DIGIT0 = 2
Global Const CN_DIGIT1 = 3
Global Const CN_DIGIT2 = 4
Global Const CN_DIGIT3 = 5
Global Const CN_DIGIT4 = 6  ' 0 - 4
Global Const CN_DIGIT5 = 7
Global Const CN_DIGIT6 = 8
Global Const CN_DIGIT7 = 9
Global Const CN_DIGIT8 = 10
Global Const CN_DIGIT9 = 11 ' 5 - 9
Global Const CN_TEN = 12         '          10
Global Const CN_HUNDRED = 13     '         100
Global Const CN_THOUSAND = 14    '       1,000
Global Const CN_10THOUSAND = 15  '      10,000
Global Const CN_100MILLION = 16  ' 100,000,000
Global Const CN_POINT = 17       ' "."
Global Const CN_NEGATIVE = 18    ' "-"

Global Const CN_LAST = 19               ' To be continued by YOU !
' END TYPE

Type PCB_STRUC
   SilenceSigMin As Long     ' Min. count of SIG_SILENCE
   DialSigMin As Long        ' Min. count of SIG_DIAL
   SignalPara(SIGNAL_TYPE, 4) As Long
    '       [x][0] : Min count of low
    '       [x][1] : Max count of low
    '       [x][2] : Min count of high
    '       [x][3] : Max count of high
    '
End Type    ' Parameter Control Block Structure

Type SP_STRUC
    MajorVer  As String * 1
    MinorVer As String * 1
    IRQNo As String * 1
    IntrNo  As String * 1
    PCBAddr As PCB_STRUC
    PCBAddr_Ofs As Long
    PCBAddr_Seg As Long
    AdapterNum As Long
    ChannelNum As Long
    TW8VIDSeg(MAX_ADAPTERS) As Long
End Type   ' System Parameter Structure

'AS A ENUM
Global Const WS_HANGUP = 0
Global Const WS_OFFHOOK = 1
Global Const WS_DIALING = 2
Global Const WS_BUSY = 3
Global Const WS_CALLING = 4
Global Const WS_RINGING = 5
Global Const WS_CALLER = 6
Global Const WS_LISTENER = 7
Global Const WS_PLAYING = 8
Global Const WS_RECORDING = 9
Global Const WS_FINISH = 10
Global Const WS_TIMER = 11
Global Const WS_DTMF = 12
'WORKING_STATUS

Type CHANNEL_STRUC
  CType As Long
  CStatus As Long    'WORKING_STATUS
  DTMF As String
  'CS_Channel As long
  Filename As String
End Type
Global Channels(MAX_CHANNELS) As CHANNEL_STRUC
Declare Function TV_Installed Lib "tw16vid.dll" () As Long
Declare Sub TV_Initialize Lib "tw16vid.dll" ()
Declare Function TV_ChannelType Lib "tw16vid.dll" (ByVal s As Long) As Long
Declare Sub TV_Disable Lib "tw16vid.dll" ()
Declare Sub TV_SysPara Lib "tw16vid.dll" (sp As SP_STRUC)
Declare Function TV_OffHookDetect Lib "tw16vid.dll" (ByVal i As Long) As Long
Declare Function TV_RingDetect Lib "tw16vid.dll" (ByVal i As Long) As Long
Declare Sub TV_HangUpCtrl Lib "tw16vid.dll" (ByVal i As Long)
Declare Sub TV_OffHookCtrl Lib "tw16vid.dll" (ByVal i As Long)
Declare Sub TV_RingCtrl Lib "tw16vid.dll" (ByVal i As Long)
Declare Sub TV_PowerCtrl Lib "tw16vid.dll" (ByVal i As Long)
Declare Sub TV_CompressRatio Lib "tw16vid.dll" (ByVal i As Long)
Declare Function TV_StartDial Lib "tw16vid.dll" (ByVal Chn As Long, ByVal This_LPSTR As String) As Long
Declare Function TV_StopDial Lib "tw16vid.dll" (ByVal Chn As Long) As Long
Declare Function TV_DialRest Lib "tw16vid.dll" (ByVal Chn As Long) As Long
Declare Sub TV_FlushDTMF Lib "tw16vid.dll" (ByVal Chn As Long)
Declare Function TV_GetDTMFChar Lib "tw16vid.dll" (ByVal Chn As Long) As Long
Declare Function TV_GetDTMFStr Lib "tw16vid.dll" (ByVal Chn As Long) As Long
Declare Sub TV_StartTimer Lib "tw16vid.dll" (ByVal Chn As Long, ByVal AllTime As Long)
Declare Function TV_TimerElapsed Lib "tw16vid.dll" (ByVal Chn As Long) As Long
Declare Function TV_CheckSignal Lib "tw16vid.dll" (ByVal Chn As Long, x As Any, Y As Any) As Long
Declare Function TV_ListenerOffHook Lib "tw16vid.dll" (ByVal Chn As Long) As Long
Declare Sub TV_ConnectChannels Lib "tw16vid.dll" (ByVal chn1 As Long, ByVal chn2 As Long)
Declare Sub TV_DisconnectChannels Lib "tw16vid.dll" (ByVal chn1 As Long, ByVal chn2 As Long)
Declare Sub TV_ConnectTo Lib "tw16vid.dll" (ByVal Schn As Long, ByVal Dchn As Long)
Declare Sub TV_Disconnect Lib "tw16vid.dll" (ByVal chn1 As Long)
Declare Sub TV_Connect3 Lib "tw16vid.dll" (ByVal chn1 As Long, ByVal chn2 As Long, ByVal chn3 As Long)
Declare Sub TV_Disconnect3 Lib "tw16vid.dll" (ByVal chn1 As Long, ByVal chn2 As Long, ByVal chn3 As Long)
Declare Sub TV_GenerateSignal Lib "tw16vid.dll" (ByVal i As Long, ByVal j As Long)
Declare Sub TV_GenerateRing Lib "tw16vid.dll" (ByVal Chn As Long)
Declare Function TV_StartRecordFile Lib "tw16vid.dll" (ByVal Chn As Long, ByVal Filename As String, ByVal Start As Long, ByVal length As Long) As Long
Declare Function TV_RecordFileRest Lib "tw16vid.dll" (ByVal Chn As Long) As Long
Declare Function TV_StopRecordFile Lib "tw16vid.dll" (ByVal Chn As Long) As Long
Declare Function TV_TruncateFile Lib "tw16vid.dll" (ByVal Filename As String, ByVal length As Long) As Long
Declare Function TV_StartPlayFile Lib "tw16vid.dll" (ByVal Chn As Long, ByVal Filename As String, ByVal Start As Long, ByVal length As Long) As Long
Declare Function TV_PlayFileRest Lib "tw16vid.dll" (ByVal Chn As Long) As Long
Declare Function TV_StopPlayFile Lib "tw16vid.dll" (ByVal Chn As Long) As Long
Declare Function TV_SetClose Lib "tw16vid.dll" (ByVal Chn As Long) As Long
Declare Function TV_SetLength Lib "tw16vid.dll" (ByVal Chn As Long) As Long
Declare Sub TV_GetPcb Lib "tw16vid.dll" (ThisPCB As PCB_STRUC)
Declare Sub TV_SetPcb Lib "tw16vid.dll" (ThisPCB As PCB_STRUC)
Declare Sub TV_GetSerial Lib "tw16vid.dll" (ByVal Serial As String)
Declare Sub TV_StartMonitor Lib "tw16vid.dll" (ByVal Chn As Long)
Declare Function TV_MonitorOffHook Lib "tw16vid.dll" (ByVal Chn As Long, ByVal RingTime As Long) As Long
Declare Function TV_MonitorBusy Lib "tw16vid.dll" (ByVal Chn As Long, ByVal VoiceType As Long, ByVal VoiceNum As Long) As Long
Declare Function TV_TW8BRingTimes Lib "tw16vid.dll" (ByVal RingTime As Long) As Long
Declare Sub TV_PulseMode Lib "tw16vid.dll" (ByVal i As Long)

Declare Function TV_PlaySentenceRest Lib "tw16vid.dll" (ByVal Chn As Long) As Long
Declare Sub TV_MakeSentence Lib "tw16vid.dll" (ByVal Dig_DB As Double, ByVal Dig_Str As String)
Declare Function TV_PlaySentence Lib "tw16vid.dll" (ByVal Chn As Long, ByVal Chars As String) As Long
Declare Sub TV_SetVoicei Lib "tw16vid.dll" (ByVal i As Long, ByVal strs As String)
Declare Function TV_ReceiveCallingID Lib "tw16vid.dll" (ByVal Ch As Long, ByVal rb As String, ByVal rl As Long) As Long
Declare Sub TV_SetSignalLevel Lib "tw16vid.dll" (ByVal level As Long)
Declare Sub TV_SetChannelMode Lib "tw16vid.dll" (byvalchannel As Long, ByVal mode As Long)
Declare Function TV_GetLastError Lib "tw16vid.dll" () As Long
Declare Sub TV_SetSignalParam Lib "tw16vid.dll" (ByVal Tis As Long, ByVal lmin As Long, ByVal lmax As Long, ByVal hmin As Long, ByVal hmax As Long)
Declare Sub TV_SetDTMFSendSpeed Lib "tw16vid.dll" (ByVal CNO As Long, ByVal SPEED As Long)


Declare Function Pcm2Wave Lib "pcmwav32.dll" (ByVal pcmfile As String, ByVal wavfile As String, ByVal pcm_rate As Integer) As Integer
Declare Function Wave2Pcm Lib "pcmwav32.dll" (ByVal wavefile As String, ByVal pcmfile As String, ByVal pcm_rate As Integer) As Integer
Declare Function ZoomPcm Lib "pcmwav32.dll" (ByVal oldfile As String, ByVal newfile As String, ByVal zoom As Double) As Integer


⌨️ 快捷键说明

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