Hallo,
ich programmiere momentan ein Programm, dass so ähnlich ist wie von TV Total die Nippel.
Ich drücke auf meiner Tastatur ein Knopf und schon wird ein Video abgespielt.
Leider friert dabei mein Desktop ein.
Ich habe nun keine Ahnung mehr woran es liegen könnte also frage ich mal hier die Experten.
Ich habe ein Bild angehängt.
Oben sieht man wie es aussieht wenn man das erste mal ein Video abspielt.
Das Video wird nicht angezeigt, Ton ist aber da.
Wenn ich es danach noch einmal abspiele funktioniert es einwandfrei.
Unten sieht man wie es nach dem abspielen aussieht man sieht immer noch die umrisse des Videoscreens.
Beim abspielen des Videos wird mein Formular 3 aufgerufen und nach demabspielen wieder versteckt.
So sieht der Code aus:
Zum abspielen:
Delphi-Quellcode:
if fileexists(Form14.Edit1.Text) or (Form14.Edit1.Text<>'') then
begin
if Form14.Radiobutton1.Checked then // zutreffend=ist ein Video andernfalls Audio
begin
Form3.Show;
Form3.Position:=poScreenCenter;
Form3.Refresh;
end
else
begin //Anzeigen des Titels bei Audio
Nameform.Show;
Nameform.Label1.Caption:=Form14.Edit13.Text;
end;
Form14.mediaplayer1.Close;
Form14.Mediaplayer1.FileName:=Form14.Edit1.Text;
Form14.MediaPlayer1.open;
Form14.MediaPlayer1.DisplayRect := Form3.ClientRect;
Form14.Mediaplayer1.Play;
Form3.Timer1.Enabled:=true;
end;
In Form 3:
Delphi-Quellcode:
procedure TForm3.FormShow(Sender: TObject);
begin
//Alphablendvalue:=255;
//Form3.DoubleBuffered:=true;
if Form14.RadioButton29.checked then
begin
Form3.Width:=360;
Form3.Height:=240;
end else if Form14.RadioButton30.checked then
begin
Form3.Width:=640;
Form3.Height:=480;
end else if Form14.RadioButton31.checked then
begin
Form3.Width:=800;
Form3.Height:=600;
end else if Form14.RadioButton32.checked then
begin
Form3.Width:=1024;
Form3.Height:=768;
end else if Form14.RadioButton33.checked then
begin
Form3.Width:=screen.Width;
Form3.Height:=screen.height;
end;
Timer1 zum schließen des Formulars:
Delphi-Quellcode:
procedure TForm3.Timer1Timer(Sender: TObject);
begin
If (Form14.MediaPlayer1.Length = Form14.MediaPlayer1.Position) then
begin
Form14.MediaPlayer1.Close;
if Form3.Showing then
begin
hide;
Application.ProcessMessages;
end;
Timer1.Enabled:=false;
end;
end;
Wenn jemand weiß woran es liegt, bitte schreiben.
Ich weiß nicht mehr weiter sitze schon seit gestern daran und versuche das problem zu lösen.
Edit: Videos sind im wmv Format falls es wichtig ist.
MfG
XXcD