Thema: Delphi Fehler bei Dateinamen

Einzelnen Beitrag anzeigen

Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#18

Re: Fehler bei Dateinamen

  Alt 6. Jul 2009, 13:49
Also es geht mir bei dem ganzen Filename Dingens ja darum, dass wenn man in meinem StreamZ eine Aufnahme startet (über BassdllPlayer), dass die Aufnahme dann heißt wie das aktuelle Lied. Über eine Funktion liefert BassdllPlayer den Titel und Interpreten der Online Streams. Diesen zeige ich direkt in einem Statusbarpanel an. Über die Funktion StartRecording verusche ich den Dateinamen zu übergeben, doch das klappt bei den Titeln ja irgendwie nicht. Viel mehr Code als die Zeile die ich gepostet habe steckt da nicht hinter. Hier mal die Funktion StartRecording von Bassdllplayer:
Delphi-Quellcode:
procedure TBassdllPlayer.StartRecording(Input: integer; FileName: string);
var
  i: Integer;
begin
  //F ile Stream
  WaveStream := TFileStream.Create(FileName, fmCreate);

  if WaveStream.Size > 0 then
  begin // free old recording
    BASS_StreamFree(Channel);
  end;

  // generate header for WAV file
  WaveHdr.riff := 'RIFF';
  WaveHdr.len := 36;
  WaveHdr.cWavFmt := 'WAVEfmt ';
  WaveHdr.dwHdrLen := 16;
  WaveHdr.wFormat := 1;
  WaveHdr.wNumChannels := 2;
  WaveHdr.dwSampleRate := 44100;
  WaveHdr.wBlockAlign := 4;
  WaveHdr.dwBytesPerSec := 176400;
  WaveHdr.wBitsPerSample := 16;
  WaveHdr.cData := 'data';
  WaveHdr.dwDataLen := 0;

  WaveStream.Write(WaveHdr, SizeOf(WAVHDR));
  i := 0;
  while BASS_RecordSetInput(i, BASS_INPUT_OFF) do
  begin
    i := i + 1;
  end;
  BASS_RecordSetInput(input, BASS_INPUT_ON);

  // start recording @ 44100hz 16-bit stereo
  recordchannel := BASS_RecordStart(44100, 2, 0, @RecordingCallback, 0);
  if recordchannel = 0 then
  begin
    ShowMyMessage('Die aufnahme kann nicht gestarted werden.', TRUE);
    WaveStream.Free;
  end;

  isRecording := True;
end;
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat