Lieber Nils
Ich sagte es ja schon.
Was mir auffällt ist das du alles doppelt machst.
Ich frage mich warum ?
Delphi-Quellcode:
if LowerCase(ExtractFileExt(fFiles[playindex].Dateiname)) = '.wmv' then
begin
frmVideo.Show;
xiStopClick(Sender);
with frmVideo do
begin
if not FilterGraph.Active then
begin
if not FilterGraph.Active then
FilterGraph.Active := True;
FilterGraph.ClearGraph;
FilterGraph.RenderFile(fFiles[playindex].pfad);
FilterGraph.play;
pause := True;
end;
end;
end;
if not FilterGraph.Active then wird zweimal in der gleichen abfrage aufgerufen
das muss nicht sein.
Dann kannst du dir viel ärger ersparen wenn du die abfragen Play/Stop auslagerst in eine
eigens dafür erstellte Function.
Und die aufrufst wenn du ein anderes Video startest.
Ich würde im click verhalten nur das Format abfragen also *-wmv/*-avi oder was auch immer
Delphi-Quellcode:
if LowerCase(ExtractFileExt(fFiles[playindex].Dateiname)) = '.wmv' then
begin
xiStopClick(Sender);
CheckPlayState
end;
procedure CheckPlayState()
//hier deine ganze abfrage vom aktuellen Spielstatus einfügen.
end;
Das gleiche bei
Delphi-Quellcode:
if LowerCase(ExtractFileExt(fFiles[playindex].Dateiname)) = '.mpeg' then
begin
xiStopClick(Sender);
CheckPlayState
end;
end;
Du mußt dann die abfrage nur einmal schreiben und nicht bei jeden Dateityp doppelt.
frmVideo.Show; direkt in der ersten zeile des click events
PS: Da fällt mir noch was auf zwei die gleichen abfragen nur wegen verschiedene Formate
das geht besser. Feste Variable anlegen 'VideoTypen' VideoTypen := '.mpeg;.wmv'
Dann kannst du beide Typen mit der Variable VideoTypen abfragen und mußt nicht alles doppelt machen.
gruß