Problem mit PlayMovie() im Fullscreen

Anfängerfragen zum Programmieren mit PureBasic.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Problem mit PlayMovie() im Fullscreen

Beitrag von Kaeru Gaman »

ein rahmenloses, maximiertes Fenster in Desktopgröße liegt automatisch vor der Taskleiste.
wenn man da einen Windowdscreen draufmacht, läßt der sich optisch nicht von einem Fullscreen unterscheiden.

wenn man da keinen Screen draufmacht, sondern auf den DC vom Fenster den Movie darstellt,
sollte das Optisch auch keinen Unterschied machen, oder?

gehts ums Format?

Man könnte die Desktopauflösung ermitteln und ein rahmenloses, maximiertes Fenster in der Größe öffnen,
dann ermittelt man die Movie-Auflösung und erzeugt ein ContainerGadget in diesen Proportionen ggf. scaled,
das packt man zentral auf das Fenster und auf dessen DC rendert man den Movie.
also direkt, nicht RenderMovieFrame, das ist ja für Screens.

... sollte eigentlich gehen, nicht das Screen-Problem haben, und optisch nicht zu unterscheiden sein.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
kswb73
Beiträge: 319
Registriert: 04.02.2008 16:51
Kontaktdaten:

Re: Problem mit PlayMovie() im Fullscreen

Beitrag von kswb73 »

Ich hatte das Problem auch mal. Dein Video muss in einen speziellen Videoformat (MPEG glaube ich) vorliegen, sonst bekommt man es unter einen Screen nicht ans laufen. Es Funktioniert manchmal auch mit anderen Formaten wenn man ClearScreen() und FlipBuffers() weglässt. Frag mich nur nicht warum.
Windows XP: PB 4.31, PB 4.4, PB 4.51
Open Suse 11.2: PB 4.4
Benutzeravatar
jojo1541
Beiträge: 431
Registriert: 15.09.2007 17:12
Wohnort: Irgendwo im Nirgendwo

Re: Problem mit PlayMovie() im Fullscreen

Beitrag von jojo1541 »

Hmm, das mit dem Fenster habe ich mir auch schon überlegt, werde ich denke ich ma auch machen.

Wie ist nochmal die Konstante, um Zeichenaktionen auf dem Window zu aktualisieren? (wegen schwarzem Hintergrund)
Ich verkaufe Rechtschreibfehler und jede menge GROßBUCHSTABEN. Alles unbegrenzt zu haben.
Sven
Beiträge: 374
Registriert: 23.09.2004 12:01

Re: Problem mit PlayMovie() im Fullscreen

Beitrag von Sven »

Noch ein Hinweis zu DShowMedia: Das läuft bei mir sehr zuverlässig, spielt sogar flv von Youtube (lokal gespeichert natürlich). Aber wenn Du mehrere Videos hintereinander zeigen willst, musst Du jedesmal InitMedia aufrufen. Also nicht:

Code: Alles auswählen

InitMedia()
LoadMedia()
PlayMedia()
;spielt
LoadMedia()
PlayMedia()
;spielt
FreeMedia()
sondern:

Code: Alles auswählen

InitMedia()
LoadMedia()
PlayMedia()
;spielt
FreeMedia()
InitMedia()
LoadMedia()
PlayMedia()
;spielt
FreeMedia()
keine Ahnung warum, aber andersrum macht FreeMedia Fehler oder das nächste Video wird nicht abgespielt. Muss da mal noch bißchen rumprobieren...

Code-Tags ergänzt
MFG Andesdaf
Antworten