Einzelnen Beitrag anzeigen

Oswin32

Registriert seit: 4. Jul 2004
8 Beiträge
 
#1

bassenc recording

  Alt 1. Sep 2012, 18:12
hi,

ich habe mir das schöne beispiel von bassenc angeguckt es funktioniert so wie es ist wunderbar

was ich aber nun möchte ist das ich mir den "mp3/ogg codierten stream / buffer" hole..

dazu hoffte ich ganz einfach die callbackfunktion in BASS_RecordStart zu nutzen


Code:
  // start recording @ 44100hz 16-bit stereo (paused to add encoder first)
  rchan := BASS_RecordStart(44100, 2, BASS_RECORD_PAUSE, @RecordingCallback, 0);
  if rchan = 0 then
  begin
    Error('Couldn''t start recording');
    Exit;
  end;
dazu habe ich mal testhalber geguckt was im buffer so drin is..

Code:
function RecordingCallback(channel: HRECORD; buffer: Pointer; length, user: DWORD): Boolean; stdcall;
begin
  Result := Bool(BASS_Encode_IsActive(channel)); // continue recording if encoder is alive
  //  Form1.lbl1.Caption:=IntToStr(length);
  if (buffer <> nil) then BlockWrite(ffiletest, buffer^,length);

end;
das problem is nu das buffer irgendwie nichts brauchbares hergibt die dateien sind riesig und nicht zu verwenden denn der inhalt sieht seltsam aus (wiederkehrende zeichenfolgen etc)

ich denke mir ich geh die sache volkommen falsch an.. ich weis das im beispiel eine mp3/ogg datei angelegt wird mit korrektem inhalt aber ich will einen eigenen mp3 oder besser ogg codierten buffer mit dem ich machen kann was ich will z.b. verschlüsseln oder übers netz schicken oder einfach speichern
ich weis auch das es eine cast beispiel gibt bei dem man das ganze auf ein icecast/shoutcast server laden kann aber soetwas will ich nicht haben mein dilemma ist also ich sehe wie man das ding abloaden kann, sehe das man es auf festplatte speichern kann aber ich kann nichts davon on the fly ändern..

hat jemand eine idee wie ich das mit dem codierten buffer anstellen kann?

danke euch im vorraus für eure hilfe
  Mit Zitat antworten Zitat