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
 
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
 


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 22:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz