Transparentes Control über DirectX Video legen

Kann ich dir jetzt leider auch nicht weiterhelfen, da ich mit dem Control ansich noch nicht viel gemacht hab und statt dessen auf DirectX gesetzt hab. Aber nachdem ich jetzt ebenfalls das Problem mit der Transparenz hab, werd ich mir hierzu auch etwas überlegen müssen. Da ich allerdings auf DirectX aufsetze wird es wohl damit funktionieren müssen.
 
Das ist doch mal ein Wort.

Ok, ich check das mit dem WMP aus und zwar für beide Versionen.
Das Ergebnis poste ich dann hier für Dich. Und dafür könntest mir ja irgend wan deine DX Lösung posten. :)

Wir haben das mit dem Layer erstmal weiter hinten dran gestellt.
Ich werd das heut Abend zuhaus implementieren und morgen hier die Ergebnisse präsentieren.

Du bist eine Granate Norbert. Ohne den Hinweis auf den WMP währ ich echt aufgeschmissen. :)

Danke

lg
 
"Der WMP10 funktioniert aber nicht unter XP SP2 :suspekt:"

Wieso das denn nicht, cosmo ? Also ich hab XP SP2 @ home drauf incl WMP10... geht problemlos.

Sagmal Norbert, woher hast du eigendlich auf soooooo vielen Gebieten Erfahrung in C# ? Der Tag hat doch nur 24 Stunden, oder hab ich da was übersehen ? ;)
 
Übertreib mal nicht.

Aber was ich dir schon mitgeben kann:
Der Tag hat 24 Stunden und wenn das nicht reicht, dann gibt's noch die Nacht.

So long.
 
Hast Dich erstmal mal darüber schlau gemacht, Darki? ;)
http://www.microsoft.com/windows/windowsmedia/mp10/readme.aspx hat gesagt.:
Operating system
Microsoft Windows XP Home Edition, Windows XP Professional, Windows XP Media Center Edition, or Windows XP Tablet PC Edition
Windows XP Home Edition, Windows XP Professional, or Windows XP Media Center Edition

Required
--> Windows XP Service Pack 2

Windows Media Player 10 works best with the latest software version of the Player and operating system.
 
Hallo Leute!

So, mein Ergebnis von Gestern Abend:

TuneClipper:

Um mit der WMP API arbeiten zu können muss man vorweg das WMPSDK besorgen,
die 'wmppia.dll' mit der 'regpiagac.vbs' im System Registrieren und im GAC verfügbar gemachen.
Der TuneClipper ist aus dem WMSDK9 und hab ihn auf WMP10 umgestellt.
Dafür war es blos notwendig 'Player.controls' in 'Player.Ctlcontrols' umzubennen.

Das Problem mir dem Layer:

Wenn sich der Layer als Control im Hauptform befindet
und irgend eine Mediendatei wiedergegeben wird,
löscht der Player alles was sich in dem Transparenten Bereich befindet.
Er scheint alles was sich innerhalb des Forms befindet zu "übermalen".

Das Aktualisieren mithilfe eines Timers ist umständlich und hässlich.
Als ich es ausprobiert hatte, verursachte es eine Art Deathlock.
Anscheinend wird das Video in dem Thread des Forms wiedergegeben
und dieser konnte den Intervall des Timer nicht mehr verarbeiten.
Das Aktualisieren in einem weiteren Thread würde sicherlich gehen,
aber es würde nichts bringen da es 100%ig
genau so hässlich flackern würde wie bei dem DirectX Player. :(

Mit einem Form higegen funktioniert es nur bei WindowsMedia Formaten tadellos.
Aber bei AVIs siehts echt schlecht aus. Es flackert ganu so. :(

Die AVIs werden dann wohl auch, wie bei dem DirectX Player,
anscheinend mithilfe des Systems wiedergegeben,
welches während der Wiedergabe alles innerhalb der transparenten Bereiche einfach "übermalt".
Den betroffenen Controls innerhalb des Forms wird dabei nicht mitgeteilt,
dass Sie sich neu zeichnen sollen, ausser den Forms die den Player verdecken.
Die Zeichnen sich neu und erzeugen genau den gleichen Effekt wie mit dem Timer. :suspekt:

Was sagst Du dazu Norbert?

MfG,cosmo
 

Anhänge

  • TuneClipper.zip
    114,8 KB · Aufrufe: 55
Zurück