bool _stdcall In878Audio(int num,int Iflag, int auformat,HWND sendhwnd)//初始化音頻輸入
bool _stdcall apiSetAudioIn(int num,int PFlag,int fmt)//設置輸入音頻
bool _stdcall apiStarAudioIn(int num)//開始音頻輸入
3.5 WINIO.DLL函數在VB6.0調用
在VB6.0中開發程序,要調用WINIO.DLL中的函數, 函數的封裝要符合VB6.0開發環境給定的規則, 才能順利調用。
上述接口函數在(VB)主程序中調用,要在模塊文件中封裝如下:
Declare Function talk729decoderinit Lib "WinIo.dll" () As Boolean
Declare Function DecodeAudioData Lib "WinIo.dll" (ByVal lpin As Long, ByVal inlen As Long, ByVal lpout As Long, ByVal lpoutlen As Long) As Boolean
Declare Function sendhwndtlp Lib "WinIo.dll" (ByVal vbtexthwnd As Long, ByVal vblpmax As Long, ByVal vbstorekhwnd As Long, ByVal vblpalldata1 As Long, ByVal vblpalldata2 As Long, ByVal vblpcodedata As Long) As Boolean '
Declare Function In878Audio Lib "WinIo.dll" (ByVal apinum As Long, ByVal apipflag As Long, ByVal apiauformat As Long, ByVal apisendhwnd As Long) As Boolean
Declare Function SetAudioIn Lib "sd878AUD" (ByVal channum As Long, ByVal PanelFlag As Long, ByVal AudioFmt As Long) As Long
Declare Function StarAudioIn Lib "sd878AUD" (ByVal channum As Long) As Long
Declare Function SetAudioIn Lib "sd878AUD" (ByVal channum As Long, ByVal PanelFlag As Long, ByVal AudioFmt As Long) As Long
3.6 VB 中變量指針的使用
VB中變量的指針用函數VarPtr(VAR)計算,long類型,如下向DLL傳送數組指針:
Dim ptr as long
Dim allwdata(500000) as byte ’定義字節數組
ptr = VarPtr(allwdata(0)) ’計算數組指針
sendhwndtlp(…,…, ptr,…)’向DLL 傳送指針
4 結語
將C程序編輯、連接為動態鏈接庫文件,即可在 VB程序中調用有關函數, 編譯生成運行代碼, 運行結果, 30路音頻可同時不間斷壓縮回放,300GB硬盤可以1個半月循環存放, 回放話音清晰。
|