AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi TMediaPlayer aktualisiert nicht immer das Bild
Thema durchsuchen
Ansicht
Themen-Optionen

TMediaPlayer aktualisiert nicht immer das Bild

Ein Thema von FatFranky · begonnen am 2. Dez 2003 · letzter Beitrag vom 3. Dez 2003
Antwort Antwort
FatFranky

Registriert seit: 20. Nov 2003
Ort: Kiel
22 Beiträge
 
Delphi 7 Enterprise
 
#1

TMediaPlayer aktualisiert nicht immer das Bild

  Alt 2. Dez 2003, 15:42
Ein neuer Tag, eine neue Frage.
Mein Mediaplayer spielt wunderbar Avi/ Mpg/ wmv
auslesen von length und position..... klappt auch.

Zum Vorspulen habe ich Frames := 100; gesetzt, geht auch.

Zur Funktion:
Nach dem öffnen eines Videos wird mir das erste Bild angezeigt und nach betätigung des Play Button läuft der Film.
Nach betätigen von Vorspulen/ Rückspulen sehe ich ein Bild 100 Frames weiter.Nach Play läuft es dann an dieser Pos. weiter.

Alles Wunderbar bei avi/wmv/mpg1

Nun mein Problem: Bei einem mpg2 file

wird das Video geladen, aber das erste Bild erst nach play angezeigt, ebenso nach Vor-/rückspulen, muß ich erst auf play drücken um zu sehen wo ich bin.

Wiso?

Hier noch ein bischen vom relevanten code:

Delphi-Quellcode:
implementation

{$R *.dfm}

function fzeit (x :Integer):string;
  var h, m, s, temp :integer;
begin
  temp := x mod 3600;
  h := x div 3600;
  m := temp div 60;
  s := temp mod 60;
  Result := Format('%.2d:%.2d:%.2d',[h, m, s]);
end;

procedure TForm1.ButtonStartClick(Sender: TObject);
begin
  with MediaPlayer1 do
  begin
    TimeFormat := tfMilliseconds;
    //FileName := 'C:\temp\test2\CMOS.mpg';
    if opendialog1.execute
      then Filename:=opendialog1.Filename;
    Open;
    StartPos := TrackPosition[1];
    EndPos := TrackLength[1]; // Headerinfo: Länge
    LabelStartPos.Caption := fzeit(StartPos);
    LabelEndPos.Caption := fzeit(EndPos div 1000); //Länge in hh:mm:ss
    DisplayRect := Rect(0, 0, 329, 265); //wiedergabeposition im Rect.
    Frames := 100; // Anz.Frames die Vor u. Rueck gesprungen wird.
    LabelFilename.Caption := opendialog1.filename;
    //LabelFilename.Caption := FileName;
    TrackBar1.Max := EndPos div 1000;
    Enabled := true;

  end;
 
  ButtonStart.Enabled := false;
  ButtonReset.Enabled := true;
  ButtonLoeschen.Enabled := true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  labelZeit.Caption := fzeit(Mediaplayer1.Position div 1000);
  trackbar1.Position := Mediaplayer1.Position div 1000;
  mediaplayer1.StartPos := Mediaplayer1.Position;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  LabelTrackPos.Caption := intToStr(TrackBar1.Position);
end;
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: TMediaPlayer aktualisiert nicht immer das Bild

  Alt 2. Dez 2003, 20:31
mpeg2 ist schon ein ziemlicher Brocken. Ich denke es liegt eher an deinem mpeg2-Codec, als an TMediaPlayer, da der auch nur das darstellt, was ihm der Codec liefert. Und so RICHTIG vernünftige mpeg2-Codecs habe ich auch noch nicht wirklich gesehen. Zumindest keine freien. WinDVD etc. haben einen fest einprogrammiert, und der musste auch für teuer Geld lizensiert werden. (DVD's sind als mpeg2 hinterlegt meine ich.)
Ich würde mich also an deiner Stelle nochmal nach einem anderen Codec umsehen, und dann schauen, ob's geholfen hat. Wenn nicht, dann weiss ich auch nicht weiter .
Aber so wirklich schlimm ist das Problem ja nicht, oder!?


n8i,
dizzy
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
FatFranky

Registriert seit: 20. Nov 2003
Ort: Kiel
22 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: TMediaPlayer aktualisiert nicht immer das Bild

  Alt 3. Dez 2003, 08:21
Moin dizzy,

ja Du hast recht DVD nutzt mpg2 codecs, die ich auch auf meinem Rechner Installiert habe.
=> Win MediaplayerS9 zeigt die Filme problemlos an.

Und ich denke TMp greift auf diese zu, wenn sie erforderlich sind.
Oder muß ich die expliziet in Delphi bekannt geben?

Zitat:
Aber so wirklich schlimm ist das Problem ja nicht, oder!?
Nun ja, beim start nicht unbedingt, schließlich weiß ich ungefähr welchen Film ich ausgewählt habe.
Allerdings wenn ich Vorspule wäre es schon schön zu sehen wo ich mich akt. befinde.

Ich werde dran bleiben.

cu FF
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: TMediaPlayer aktualisiert nicht immer das Bild

  Alt 3. Dez 2003, 18:16
Naja gut, dann könnte es sehr wohl an TMediaPlayer liegen. Der Player von MS nutzt nämlich DirectX zum Zeichnen des Overlays, und TMediaPlayer ist ein MCI-Gerät. Da kann es durchaus sein, dass die sich recht unterschiedlich verhalten. Haste Recht.

Nur da hab ich dann, wie gesagt, leider auch keine Idee mehr. Bleibt mir nur noch zu sagen: Viel Glück!? 8)




gruss,
dizzy
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 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