Einzelnen Beitrag anzeigen

glotzer

Registriert seit: 15. Apr 2009
30 Beiträge
 
#4

AW: BASS.DLL - Rauschen erzeugen / create noise

  Alt 11. Mai 2014, 17:02
also, so gehts:

Die bass.dll hat die Funktion BASS_StreamCreate, die einen Parameter STREAMPROC nimmt. Diese Funktion gibt die Daten zurück. Das würde bei Rauschen so aussehen:

Delphi-Quellcode:
Handle := BASS_StreamCreate(freq, chanels, flags or BASS_SAMPLE_8BITS{$IFDEF UNICODE} or BASS_UNICODE {$ENDIF}, @Callback, nil);

function Callback(handle: HSTREAM; buffer: Pointer; length: DWORD; user: Pointer): DWORD; stdcall;
var
  i: integer;
begin
  for i:=0 to length-1 do
  begin
    buffer^ := random(255); //255 ist abhängig vom Streamformat das beim erzeugen angegeben wurde. Für 255 muss es BASS_SAMPLE_8BITS sein.
    inc(buffer);
  end;
  result := length-1;
end;
Das ganze hab ich hier im Editor geschrieben, also nicht getestet. Vom Prinzip her ist es aber richtig.

Hoffe ich konnte dir helfen.

Geändert von glotzer (11. Mai 2014 um 17:15 Uhr)
  Mit Zitat antworten Zitat