Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Fehler beim Abspielen von Video (https://www.delphipraxis.net/125656-fehler-beim-abspielen-von-video.html)

KeyBe 9. Dez 2008 17:17


Fehler beim Abspielen von Video
 
Hallo,
ich möchte gern eine avi-file in ein delphiprogramm einbinden. das ganze ist so angedacht, dass das video abgespielt wird, sobald die form geöffnet wird (mit formcreate). Als display dient ein panel.

mein quelltext sieht so aus:

Delphi-Quellcode:

procedure TForm1.FormCreate(Sender: TObject);
var Mediaplayer1 : TMediaPlayer;
begin
Mediaplayer1.DeviceType:=dtAutoSelect;
Mediaplayer1.Filename:='C:\Users\KeyBe\Desktop\1.avi';
Mediaplayer1.Display:=panel1;
Mediaplayer1.Open;
Mediaplayer1.Play;
end;
wenn ich das programm starten möchte, dann wird angezeigt, dass kein gerätetyp aus der angegebenen dateinamenerweiterung ermittelt werden kann (EMCIDiviceError).
liegt das am fehlen eines codecs? der mediaplayer selbst spielt das video ab.
oder habe ich vllt. im objektinspektor falsche einstellungen?

DeddyH 9. Dez 2008 17:40

Re: Fehler beim Abspielen von Video
 
Möglich wäre das schon mit dem fehlenden Codec. Was mich aber mehr verwundert ist die Tatsache, dass Du keine AV bekommst, oder hast Du die Zeile, in der Du den Mediaplayer erzeugst, unterschlagen?

gmc616 9. Dez 2008 17:44

Re: Fehler beim Abspielen von Video
 
Kann es sein, das dein Mediaplayer1 in FormCreate noch nicht erstellt ist?

Ich nehme mal an, dass der Mediaplayer1 auf der Form liegt, oder?

Delphi-Quellcode:

procedure TForm1.FormCreate(Sender: TObject);
var Mediaplayer1 : TMediaPlayer; // <-- weglassen !
begin
Mediaplayer1.DeviceType:=dtAutoSelect;
Mediaplayer1.Filename:='C:\Users\KeyBe\Desktop\1.avi';
Mediaplayer1.Display:=panel1;
Mediaplayer1.Open;
Mediaplayer1.Play;
end;

KeyBe 9. Dez 2008 18:01

Re: Fehler beim Abspielen von Video
 
ja, der liegt drauf...muss da was spezielles beachtet werden?
der mediaplyer selbst spielts ja ab, aber kann es denn sein, dass es nicht funktioniert, weil vista den productkey (betriebssystem ist original, key wird allerdings nicht angenommen) nich akzeptiert? andere programme sind daher ja auch nur eingeschränkt nutzbar

KeyBe 9. Dez 2008 18:51

Re: Fehler beim Abspielen von Video
 
@deddyH
meinst du das?
Delphi-Quellcode:
Mediaplayer1:=TMediaPlayer.Create(self);
ich stehe ich auf dem schlauch

ich hab das jetzt mal so:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Mediaplayer1:=TMediaPlayer.Create(self);
mediaplayer1.parent:=self;
mediaplayer1.filename:='C:\Users\KeyBe\Desktop\1.avi';
mediaplayer1.open;
mediaplayer1.display:=Panel1;
mediaplayer1.play;
end;
weiter hab ich nichts im quelltext

funktioniert leider nicht

trotzdem vielen dank!

DeddyH 9. Dez 2008 18:55

Re: Fehler beim Abspielen von Video
 
Genau die Zeile hatte ich gemeint. Möglicherweise hast Du da tatsächlich ein Codec-Problem. Kannst Du das Video mal zippen und anhängen, dann könnte man mal schauen, ob es bei anderen funktioniert.

KeyBe 9. Dez 2008 19:06

Re: Fehler beim Abspielen von Video
 
naja, das video ist n paar 100 mb groß, zumindest das testvideo...das was am ende rein soll ist noch nicht fertig, das bekomme ich erst noch (ein intro für eine zusammenstellung von spielen)
wo bekomme ich einen codec her, mit dem das dann funktionieren sollte? ich hab ja eigentlich auch einen avi-codec speziell für vista

igel457 9. Dez 2008 20:19

Re: Fehler beim Abspielen von Video
 
Ich würde dir nicht Raten die TMediaPlayer-Komponente zum Abspielen von Videos zu verwenden - die basiert auf einer uralt Schnittstelle, die noch als Überrest von Windows 3.11 existiert.

Normalerweise werden Videos unter Windows mit DirectShow (für Delphi gibt es da DSPack) abgespielt - wenn es etwas Quelloffenes sein darf kann ich dir auch meine eigene "Videokomponente" empfehlen.

PS: Bei DirectShow musst du auch noch Codecs installieren, bei dem Link von mir sind alle Codecs "im Programm drin".

KeyBe 27. Dez 2008 13:13

Re: Fehler beim Abspielen von Video
 
ok, ich bins mal wieder^^
ich hab jetzt mal wieder langeweile gehabt und versucht das mit der avi-file in den griff zu kriegen, ich habs gott sei dank geschafft die file abgespiel zu bekommen.
nur leider läuft die file zu schnell, ton kommt demzufolge natürlich auch keiner. ich habe daraufhin versucht die größe des panels der größe der file anzupassen, das klappt soweit, nur ändert sich an der geschwindigkeit des videos nichts.

das wäre der code dazu:
Delphi-Quellcode:
procedure groessedisplay(mediaplayer: Tmediaplayer);
begin
with mediaplayer do
begin
Display.Width:= DisplayRect.Right - DisplayRect.Left;
Display.Height:= DisplayRect.Bottom - DisplayRect.Top;
end;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
var src : string;
begin
opendialog1.Execute;
edit1.text:=OpenDialog1.Filename;
src:=edit1.text;
with MediaPlayer1 do
begin
Filename:=src;
open;
Display:=Panel1;
groessedisplay(mediaplayer1);
end;
end;
vllt bin ich auch einfach nur blind

(autoopen geht nicht auf true zu setzen, hat damit wahrscheinlich eher weniger zu tun, wollte es aber anmerken)



vielen dank im voraus!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz