Dann muß aber vermutlichauf dem Zielkomputer der VLC-player installiert sein?
Ist vielleicht etwas übertrieben, wo die dort auf dem arbeitsrechner eh keine Videos gucken dürfen.
HTTP ging leider nicht
(wäre auch zu Einfach gewesen
)
Ist jetzt kein Problem an deiner Komponente, sondern mehr ein kleiner Fehler bei der Verwaltung.
Delphi-Quellcode:
procedure TfrmMain.Button1Click(Sender: TObject);
begin
FreeAndNil(Client);
// Schließen, wenn schon offen
Client := TMJPEGClient.Create('
192.168.1.10', 80, '
/videostream.cgi');
// die URL ist bei vielen Kameras anders, also anpassen!
Client.OnJPEGReceived := JPEGReceived;
...
Client.Start;
end;
procedure TfrmMain.Button2Click(Sender: TObject);
begin
FreeAndNil(Client);
end;
procedure TfrmMain.FormDestroy(Sender: TObject);
begin
FreeAndNil(Client);
// auch wenn du zwar den Thread über das Terminated abbrichst, bleibt die Komponente bestehen und könnte womöglich auch noch nach dem freigeben des Fensters nochmal versuchen drauf zuzugreifen.
end;
Drück einfach mal mehrmals auf Starten (ok, da passiert hier nicht viel, außer daß jetzt mehrere Threads arbeiten),
aber mehrmals auf Stoppen geklickt, wird vermutlich schön knallen (aber mindestens einmal mußte vorher der thread gestartet wurden sein).