Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Amplitude und Frequenz durch BASS_ChannelGetData

  Alt 24. Feb 2008, 17:27
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
Angehängte Dateien
Dateityp: zip basstest_137.zip (13,5 KB, 33x aufgerufen)
  Mit Zitat antworten Zitat