[VB.Net] Overlay op Video.

Pagina: 1
Acties:

  • El_Quedro
  • Registratie: September 2001
  • Laatst online: 04-08-2025

El_Quedro

Pininfarina

Topicstarter
Hee allemaal :)

Ik had een dagje niks te doen, en ik zat na te denken wat ik nou zou kunnen maken wat ik ook zelf daadwerkelijk ook ga gebruiken..

Toen kwam ik dus bij een Video player. Nou, prima, was zo geregeld eigenlijk :P

Maar nu zit ik dus muurvast. Ik gebruik nu de DirectX.AudioVideoPlayback en heb ook ActiveMovie (oid) geprobeerd en andere versies maar ze stuiten allemaal op hetzelfde probleem.

Ik wil namelijk ondertitels erbij zetten, maarja, het lukt me maar niet om met GDI+ of iets anders de boel te 'overlayen'. Iedere keer zie ik de tekst niet. Nu kan ik er wel een label op plakken, maar dat vind ik nep en het ziet er niet uit..

Ik heb ook met FindWindow API de Handle achterhaald en met Graphics.FromHWND geprobeerd te overwriten.. maar ook dit resulteerde op niks.

Iemand anders nog een idee?

--edit--
Ik heb nog wat opgezocht in de DX9 Documentation, en daar hebben ze samples met DirectShow, wat dus wel werkt.. maar er is geen VB.Net documentation, en er is al helemaal geen DirectShow beschikbaar in VB.Net !!!!
Weet iemand hoe ik DirectShow zou kunnen gebruiken? ook al is het dmv de oudere DirectX8 for Visual Basic (dx8vb.dll) bijvoorbeeld?

[ Voor 19% gewijzigd door El_Quedro op 19-02-2004 18:52 ]


Verwijderd

Je kunt toch eerst je video output drawen en daar nog iets overheen drawen of ben ik nou weer gek... :?

  • El_Quedro
  • Registratie: September 2001
  • Laatst online: 04-08-2025

El_Quedro

Pininfarina

Topicstarter
Verwijderd schreef op 19 februari 2004 @ 19:44:
Je kunt toch eerst je video output drawen en daar nog iets overheen drawen of ben ik nou weer gek... :?
Ik wil niet zeggen dat je gek bent, maar dat probeer ik dus te bereiken :/
En dat lukt dus niet.
Bij de video moet je een 'owner' handle opgeven. Als ik een output naar die handle schrijft zie ik niks (wel als de film niet draait uiteraard) . Maar in die handle komt een nieuwe handle, met de windowname "ActiveMovie" en classname "VideoRenderer"
Als ik daar de handle van opvraag, en daarheen output, ook dan verschijnt er niks op het scherm :'(

Weet iemand anders een betere manier? of moet ik een andere control gebruiken?
Ik probeer het @ the moment naar een texture te gooien met Direct3D. Maar dat is een beetje overkill.

--- edit ---

Ik heb een vrij 'dirty' manier van het oplossen ervan en dat is het volgende:
Je maakt een nieuwe form aan, controlbox weg, borderstyle = none, backcolor = black, tranceparencykey = black, topmost = true en hij heeft uiteraard de positie waar jij je subtitles wil hebben.

Met GDI+ zet ik nu text op die form, en het werkt naar behoren nu, het leuke is dat je met GDI+ ook Anti-Alaising aan kan zetten.. :) Dat worden mooie subtitles :+ :Y)

[ Voor 24% gewijzigd door El_Quedro op 20-02-2004 11:38 ]