Функцией waveInOpen открываете аудио устройство ввода и подготавливаете буферы.
Код:
If waveInOpen_(@ioswi,#WAVE_MAPPER+NumInDev-2,@ios,@iosInOutProc(),0,#CALLBACK_FUNCTION) = #MMSYSERR_NOERROR
; готовим буфeры
For i=0 To iosNBuf
iosbufIN(i)\lpData = InBuf(i)
iosbufIN(i)\dwBufferLength = iosBufSize
waveInPrepareHeader_(ioswi, @iosbufIN(i), SizeOf(WAVEHDR));подг. блок
waveInAddBuffer_(ioswi,iosbufIN(i),SizeOf(WAVEHDR))
Next
Else
ProcedureReturn #iosERR
EndIf
В CALLBACK функции принимаете данные
Код:
;процедура обновления буферов в режиме сквозного канала, в процессе выполняет внешнюю функцию
Procedure iosInOutProc( hwi.l, uMsg.l, dwInstance.l, dwParam1.l, dwParam2.l)
If iosProcessStart=1
If uMsg=#MM_WIM_DATA
For i=0 To iosNBuf
If (iosbufIN(i)\dwFlags & #WHDR_DONE) = #WHDR_DONE
waveInAddBuffer_(ioswi, @iosbufIN(i), SizeOf(WAVEHDR));принять данные с микшера
EndIf
Next
EndIf
Else
iosProcessStart=-1
EndIf
EndProcedure
В буфере будут звуковые данные с микрофона. Отправляете их на сервер.