Ups, da war noch ein Fehler. Beim wechseln des Devices wurden die Eingänge nicht neu geladen. Ich vermute mal dein Webcam-Device ist das erste Device und hat nur das Mikrofon. Versuch es mal mit der neuen Version.
Über
_Channel:=BASS_RecordStart(44100, 2, 0, @RecordingCallback, 0);
wird die Aufnahme gestartet. Dabei enthält _Channel den Aufnahmehandle, dies ist hier aber nur für das Stoppen wichtig.
BASS_ChannelStop(_Channel);
Beim Start wird nämlich eine Callback-Routine installiert, die von der Bass.dll automatisch aufgerufen wird.
Delphi-Quellcode:
function RecordingCallback(
Handle: HRECORD; buffer: Pointer; length,
user: DWord): boolean;
stdcall;
und dieser Routine übergibt die Bass.dll den Kanalhandle, wenn sie die Routine aufruft.
Das @-Zeichen weisst den Delphicompiler an die Adresse der Routine zu übergeben, damit die
Dll von "außen" deine Routine findet und aufrufen kann.
In dem
Bass-Archiv findest du auch eine bass.chm Datei, die die einzelnen Befehle der bass.dll erklärt.
Gruss
Thorsten