Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Tmediaplayer xe 2 (https://www.delphipraxis.net/168123-tmediaplayer-xe-2-a.html)

implementation 7. Mai 2012 21:18

AW: Tmediaplayer xe 2
 
Zitat:

Zitat von Klaus01 (Beitrag 1165215)
mplayer != Windows Media Player

Den da?

Klaus01 7. Mai 2012 22:05

AW: Tmediaplayer xe 2
 
Zitat:

Zitat von implementation (Beitrag 1165243)
Zitat:

Zitat von Klaus01 (Beitrag 1165215)
mplayer != Windows Media Player

Den da?

Nein, ich meinte den der bei Windows dabei ist.
Aber dessen Name ist mplayer2 (wie ich eben festgestellt habe).
Sorry, wenn ich für Verwirrung gesorgt haben sollte.

Grüße
Klaus

Medium 7. Mai 2012 22:30

AW: Tmediaplayer xe 2
 
Zitat:

Zitat von bernhard_LA (Beitrag 1165201)
ich kann alle Videos mit IRVANVIEW anschauen, alle Videos liegen im *.avi Format vor. (Die Bildgröße und Codierung sind jedoch nicht immer gleich) TMediaPlayer kann einige Dateien nicht öffnen AV " THERE IS NO DRIVER INSTALLED ON YOUR SYSTEM". Ich hättet erwartet von der MediaPlayer von IRVANVIEW mein Files abspielen kann, dann sollte dies doch auch der TMediaplayer von DELPHI heraus schaffen? Wenn IRVANVIEW einen DRIVER findet sollte TMEDIAPLAYER in auch finden könenn :evil:

Irfanview ;)
AVI ist an und für sich kein "Format", da es lediglich einen Container für diverse Formate beschreibt, ähnlich wie RIFF WAVE. In einem AVI können also Videos als MPEG2, DivX, Cinepak, h.264, etc. etc. stecken, die meist auch alle je ihren eigenen Codec brauchen, und ein Codec auch ggf. je nach weiterem Subformat wiederum neu/anders initialisiert werden muss. Dass alles AVI sei, hilft daher kein Stück weiter.
Ich vermute einfach, dass der Mediaplayer in Delphi bei einem Dateiwechsel nicht auch automatisch eine Neuinitialisierung des zu verwendenden Codecs veranlasst. Ich hab grad kein Delphi zur Hand, aber TMediaplayer bietet vermutlich irgend eine Methode, die dazu fürhren kann. Sei es ein Close() oder was auch immer. Einfach mal in der Codevervollständigung scrollen und zu wahrscheinlichen Kandidaten die Hilfe starten und auch mal einfach testen. Das ist zumindest meine übliche Methode wenn ich ein bestimmtes Verhalten suche, was meist ganz gut klappt.

Andreas L. 8. Mai 2012 07:26

AW: Tmediaplayer xe 2
 
Zitat:

Zitat von Luckie (Beitrag 1165067)
Zitat:

Zitat von bernhard_LA (Beitrag 1165066)
muss ich TMediaPlayer vorm laden des nächsten *.avi aufräumen ?

Warum fragst du das? Probiere es doch einfach aus.

@bernhard_LA: Hast du das ausprobiert? Könnte die Lösung sein.

Delphi-Quellcode:
procedure TMediaPlayerForm.PlayFile(s: string);
begin
  if (FileExists(s)) then
  begin

    // Player "löschen"
    if Assigned(MediaPlayer1) then
      FreeAndNil(MediaPlayer1);

    // Neuen Player erzeugen
    MediaPlayer1 := TMediaPlayer.Create(Self);
    MediaPlayer1.Parent := Self;

    // wie gewohnt benutzen
    MediaPlayer1.Display := Panel1;
    MediaPlayer1.FileName := s;
    MediaPlayer1.Wait := true;
    MediaPlayer1.Open;
    MediaPlayer1.play;
  end;
end;
oder

Delphi-Quellcode:
procedure TMediaPlayerForm.PlayFile(s: string);
begin
  if (FileExists(s)) then
  begin

    MediaPlayer1 := TMediaPlayer.Create(Self);
    try
      MediaPlayer1.Parent := Self;

      MediaPlayer1.Display := Panel1;
      MediaPlayer1.FileName := s;
      MediaPlayer1.Wait := true;
      MediaPlayer1.Open;
      MediaPlayer1.play;
   finally
     FreeAndNil(MediaPlayer1);
  end;
end;
Vielleicht genügt aber auch schon die Methode: http://docwiki.embarcadero.com/Libra...iaPlayer.Close

bernhard_LA 8. Mai 2012 16:03

AW: Tmediaplayer xe 2
 
der Tmediaplayer hat weiterhin beim Abspielen einzelner Files Probleme, auch mit der neuen Codeversion.
Ihm fehlen vermutlich die richtigen Codecs.

Kann ich die Liste der verfügbaren Codecs mir vom Tmediaplayer ausgebenlassen ?





Delphi-Quellcode:

procedure TMediaPlayerForm.PlayFile(s: string);
var
  MediaPlayer1: TMediaPlayer;
begin
  if (FileExists(s)) then
  begin
    MediaPlayer1 := TMediaPlayer.Create(Self);
    try
      MediaPlayer1.Parent := Self;

      MediaPlayer1.Display := Panel1;
      MediaPlayer1.FileName := s;
      MediaPlayer1.Wait := true;
      MediaPlayer1.Open;
      MediaPlayer1.play;
    finally
      begin
        //  warte bis video abgespielt ....
        repeat
          sleep(1000);
        until (MediaPlayer1.Position = MediaPlayer1.Length);
        FreeAndNil(MediaPlayer1);
      end;
    end;
  end;
end;

jaenicke 9. Mai 2012 05:42

AW: Tmediaplayer xe 2
 
Warum bestehst du denn so auf dem alten TMediaPlayer?

Naja, sei es drum, hier steht etwas zu den Codecs bei MCI:
http://support.microsoft.com/kb/142731/de


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:57 Uhr.
Seite 2 von 2     12   

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