![]() |
Streamaufnahme - Code ergänzen
Hallo,
ich verwende für die Streamaufnahme (netradio - Beispiel von bass.dll) folgenden Code:
Delphi-Quellcode:
Jetzt würde ich mal wissen wie ich am besten die Aufnahme stoppen kann und wieder Aufnehmen. Hab mit das Stoppen mit
var
FileStream : TFileStream; FileNeme : String; // <= C:\test.mp3 function Get_AppPath : string; begin result:= ExtractFilePath( ParamStr( 0 ) ); end; procedure StatusProc(buffer: Pointer; len, user: DWORD); stdcall; begin if (buffer <> nil) and (len = 0) then SendMessage(win, WM_INFO_UPDATE, 8, DWORD(PChar(buffer))); if (FileNeme = '') then exit; if (FileStream = nil) then FileStream:= TFileStream.Create(FileNeme, fmCreate); // create the file if (buffer = nil) then FileStream.Free // finished downloading else FileStream.Write(buffer^, len); end; function OpenURL(url: PChar): Integer; var .... begin FileNeme:= Get_AppPath + Form1.Filename_Edit.Text; ... end;
Delphi-Quellcode:
versucht, aber das Prog stürzt ab. :gruebel:
procedure TForm1.Button1Click(Sender: TObject);
begin FileStream.Free; end; |
Re: Streamaufnahme - Code ergänzen
Kann mir denn keiner einen verständlichen Tipp geben?
Ich bin Hobby Programmierer, hab schon alle meine Bücher abgeguckt, aber nix vernünftiges gefunden. :( |
Re: Streamaufnahme - Code ergänzen
Wie ich im DF schon sagte: Speichere in einer Property oder einer Variable, ob du gerade aufnimmst oder nicht. Und dementsprechend führst du den Code zum Speichern aus oder halt nicht.
|
Re: Streamaufnahme - Code ergänzen
Hab gestern wie ein irrer versucht diese Lösung zu realisieren, aber nix ging. Wie gesagt ich bin Hobby Programmierer und das ist doch ne Nummer zu groß für mich...
|
Re: Streamaufnahme - Code ergänzen
Weiß nicht ob ich dich richtig verstehe, aber versuch mal in dem Button folgenden Code:
Delphi-Quellcode:
Sehr verspäteter Edit: Das ist natürlich quark, passt nicht zu deinem Code, habe mich verlesen schätze ich mal :zwinker: Mach es wie Gausi es sagte - nimm dir eine zusätzliche Variable, die du beim Start der Aufnahme auf true setzt und prüfe oben in StatusProc, ob diese durch einen Klick auf den Button auf false gesetzt wurde (= Aufnahme anhalten).
procedure TForm1.Button1Click(Sender: TObject);
begin FileStream.Free; FileStream := nil; // ODER: FreeAndNil(FileStream); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz