Ich schreibe mit Delphi 2005 Personal / Windows Forms eine Oberfläche, mit der Benutzer unterschiedliche Videoclips mit Hilfe einer Reihe von Buttons aufrufen und abspielen sollen. Dabei bin ich nach der Anleitung unter "Beispiel für das Hinzufügen von Audio- und/oder Videoclips (nur
VCL)" vorgegangen, d.h. VideoPlayer vom Typ TMediaplayer und Ausgabe in ein Fenster vom Typ TAnimate. Die Videos liegen im Format .WMV vor.
Auf zwei unterschiedlichen Entwicklungsrechnern (zuhause, Büro) funktioniert auch alles wunderbar. Bei den Zielrechnern handelt es sich um Komplett-PCs ACER Veriton FP (grob gesagt: "dicker" Monitor mit gesamter PC-Hardware in Notebook-Technik hinter dem TFT). Als Grafikkarte ist angegeben "ATI Rage LT Pro AGP 2X ". Beim Aufrufen der Videos bleibt das Fenster leer. Erst wenn ich mit der Maus das Anwendungsfenster auf dem Bildschirm hin- und herbewege, wird das Video angezeigt. Wenn das gleiche Video erneut abgespielt wird, wird es auch ohne weitere Manipulationen angezeigt. Wird mit dem Button ein anderes Video ausgewählt, so wird das Video erst wieder angezeigt, wenn man am Fenster "gewackelt" hat. Beim Verschieben des Programmfensters folgt das Video (-overlay) mit einer kleinen Verzögerung, d.h. im Ausgabefenster entstehen kurzzeitig schwarze Ränder, die dann sofort wieder mit dem Video ausgefüllt werden.
Ein Verschieben des Fensters mit
Delphi-Quellcode:
Form1.left := Form1.Left + 1;
Form1.left := Form1.Left - 1;
führt nicht zum Ziel, ebensowenig das "Wackeln" am Wiedergabefenster (vom Typ TAnimate);
Auch
Form1.Refresh;
oder
Form1.Paint;
führen nicht zum Ziel.
Windows Mediaplayer9 ist installiert und zeigt die Videos ohne Probleme an.
Weiterhin zeigt sich folgender Fehler: wenn zur Laufzeit das Animate-Fenster auf unsichtbar gesetzt wird, verschwindet zunächst die Anzeige des Videos; der MediaPlayer läuft natürlich weiter; ein "Wackeln" am Programmfenster führt dazu, dass das Video doch wieder angezeigt wird, obwohl das Animate-Fenster nach wie vor unsichtbar sein sollte.
Wenn ich in den Bildschirmeigenschaften unter Problembehandlung die Hardware-Beschleunigung soweit reduziere, dass "alle DirectDraw-, Direct3D-, Cursor- und Zeichnungsbeschleunigungen" deaktiviert sind, tritt das Problem nicht mehr auf. Nun ruckeln aber die Videos.
Neuestes DirektX ist installiert.
Der
DirectX-Test wird ohne Fehlermeldung durchlaufen.
Aktueller Treiber (der aber auch schon von 2004 stammt) ist installiert und brachte auch keine Verbesserung gegenüber dem XP-Treiber.
Auf allen Rechnern (Entwicklung und Ziel) läuft XP SP2. Einer der Entwicklungsrechner hat eine Onboard-Grafik, der andere eine separate Grafikkarte.
Von den Zielrechnern sind 20 Stück vorhanden und sollen genutzt werden. Ein Austausch der Grafikkarten ist wahrscheinlich technisch nicht möglich oder zumindest unwirtschaftlich.
Hat jemand eine Idee, woran es liegen kann bzw. eine Idee für eine Lösung ?