How do i declare this function properly in qb64 of winmm?

113 Views Asked by At

How do i declare this function properly in qb64 of winmm? I'm using this code and it keeps giving me error 2. Anybody knows what i am doing wrong? I am using windows 7 and qb64.

TYPE WAVEFORMAT
wFormatTag AS INTEGER
nChannels AS INTEGER
nSamplesPerSec AS LONG
nAvgBytesPerSec AS LONG
nBlockAlign AS INTEGER
wBitsPerSample AS INTEGER
cbSize AS INTEGER
END TYPE

DECLARE DYNAMIC LIBRARY "WINMM"
    FUNCTION waveInOpen& ALIAS "waveInOpen" (lphWaveIn AS INTEGER, uDeviceID AS INTEGER, lpFormat AS WAVEFORMAT, dwCallback AS INTEGER, dwInstance AS INTEGER, dwFlags AS INTEGER)
END DECLARE
DIM WAVE_FORMAT_PCM AS INTEGER
DIM CALLBACK_NULL AS INTEGER
DIM DevHandleID AS INTEGER
DIM DevHandle AS INTEGER
DevHandleID = 1
WAVE_FORMAT_PCM = 1
CALLBACK_NULL = 0
DIM SHARED InwaveFormat AS WAVEFORMAT
waveFormat.wFormatTag = WAVE_FORMAT_PCM
waveFormat.nChannels = 2
waveFormat.nSamplesPerSec = 44100
waveFormat.nAvgBytesPerSec = 44100 * 4
waveFormat.nBlockAlign = 4
waveFormat.wBitsPerSample = 16
waveFormat.cbSize = 0
c = waveInOpen(DevHandle, DevHandleID, InwaveFormat, 0, 0, CALLBACK_NULL)
PRINT c
0

There are 0 best solutions below