winmmのqb64でこの関数を正しく宣言するにはどうすればよいですか? 私はこのコードを使用していますが、エラー 2 が表示され続けます。誰かが私が間違っていることを知っていますか? Windows 7 と 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