Nach einiger Zeit der Überarbeitung habe ich es endlich geschafft, meine Units zur Aufnahme von MPEG-Streams (bzw. Internetradio...) fertigzustellen. Naja, es ist bestimmt der eine oder andere Fehler drin, darum bin ich sehr dankbar für jede Verbesserung und jeden Hinweis. Ich habe einige Stellen kommentiert, das Interface ist ziemlich komplett beschrieben... Ich hoffe das passt so (auch wegen den Regeln für neue Beiträge)...
Jetzt noch ein paar Kleinigkeiten.. also, das Paket besteht aus 3 Dateien: Streamer.pas, StreamerHelper.pas und MPEG.pas. Die ersten beiden habe ich geschrieben, woher ich die MPEG.pas habe weiß ich nicht, das ist so ein kleines Problem.. ich habe sie aber erstmal mit angehängt. Die Streamer.pas regelt das wichtigste, in StreamerHelper.pas liegen ein paar Funktionen und eine Klasse, die ich von TMemoryStream abgeleitet habe. Benötigt wird dazu noch die ICS (von
http://www.overbyte.be), das benutze ich für die Sockets.
Tja, am besten guckt man sich das ganze mal selbst an, also, falls da irgendetwas unsauber ist oder total grob falsch nehmt es mir nicht so übel
. Ich wollte das Teil endlich fertig haben und es funktioniert erstmal gut.
Nun, wie benutzt man es?
Die
Unit Streamer einbinden. Und dann nach diesem Schema vorgehen:
Delphi-Quellcode:
var
Streamer: TStreamer;
StreamObject: TStreamObject;
begin
Streamer := TStreamer.Create;
Streamer.OnStreamEvent := StreamerStreamEvent;
Streamer.MinSize := 500000;
Streamer.Dir := Settings.Dir;
Streamer.SkipShort := True;
Streamer.SeperateDirs := True;
Streamer.FilterType := ftDontSave;
Streamer.DefaultUseFilter := False;
StreamObject := Streamer.AddStream(Playlist_URL);
StreamObject.Start;
end;
So... ich belasse es erstmal dabei, für alle Fragen stehe ich natürlich zur verfügung, ich hoffe, der ein oder andere kann das hier gebrauchen oder dadraus etwas lernen, falls es einigermaßen verständlich ist.. und wie gesagt, das einzige, was ich gerne hätte, wäre, dass man mir Änderungen am Code zukommen lässt. Vielleicht auch eine kleine Notiz, falls das jemand in sein Programm einbaut.. Naja, ist kein muss.
Also, bis später, oder so