![]() |
DirectX IVideoWindow Refresh
Hallo,
ich gebe über DirectX ein Video wieder. Über eine TScrollbar kann die Position im Video verändert werden. In einer TListBox sind verschiedene Positionen (Kapitel) eingetragen. Durch einen Klick auf einen Eintrag wird bei angehaltenem Video die Position der TScrollBar verändert. Mein Problem ist nun, das die Anzeige im IVideoWindow nur regelmäßig aktualisiert wird, wenn die Position der TScrollBar mit der Maus oder den Cursortasten verändert wird. Beim Klick auf die Einträge in der TListBox wird mal aktualisiert und mal nicht. Wenn das Formular verschoben wird, wird an dem DirectX-Player ein NotifyOwnerMessage geschickt und das Bild aktualisiert. Was ist der Unterschied, wenn die Position der TScrollBar per Maus/Cursortasten oder per Befehl geändert wird? Gibt es eine Möglichkeit ein Neuzeichnen zu erzwingen? Der Befehl Pause führt in diesem Fall leider nicht zum Erfolg. |
Re: DirectX IVideoWindow Refresh
Der Versuch, IWindowlessControl anstelle IBasicVideo2 zu versuchen, hat nicht funktioniert.
|
Re: DirectX IVideoWindow Refresh
Urspünglich hatte ich versucht, die Aktualisierung mit einem IMediaControl.Pause direkt nach dem IMediaSeeking.SetPosition() erreichen. Das hatte ich so auch in Beispielen so gesehen. Und bei der TSrcollBar ging es sogar ohne. Das Ergebnis steht oben im ersten Beitrag. Nach langem Suchen habe ich in der MSDN bei IMediaSeeking::SetPosition folgendes gefunden und fast überlesen:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 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