JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=26fcfa65665374bd88ce28f5474abc64Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Video (AVI) in Fullscreen abspielen
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
addict
Mini JLI'ler



Anmeldedatum: 27.04.2005
Beiträge: 21

Medaillen: Keine

BeitragVerfasst am: 27.04.2005, 08:39    Titel: Video (AVI) in Fullscreen abspielen Antworten mit Zitat

Hi

Wie kann ich ein Video in einem Fullsreenfenster abspielen?
Ich weiss dass es mit DirectShow funktioniert, aber habe nirgens eine Anleitung gefunden, welche dies in einer Fullscreenanwendung macht!
Ich habe es so versucht:
CPP:
static IGraphBuilder *pGB = NULL;
static IMediaControl *pMC = NULL;
static IVideoWindow *pVW = NULL;
static IMediaEventEx *pME = NULL;

CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC,
                 IID_IGraphBuilder, (void **)&pGB);

//Query COM interface
pGB->QueryInterface(IID_IMediaControl, (void **)&pMC);
pGB->QueryInterface(IID_IVideoWindow, (void **)&pVW);

pGB->RenderFile(L"test.avi",NULL);

//Set the parents window
pVW->put_Owner((OAHWND)hWnd);

//Sets the child window
pVW->put_WindowStyle(WS_CHILD | WS_CLIPSIBLINGS);

//here we create a RECT in which to draw the child window on
RECT vwrect;

//get the size of the Parent
GetClientRect(hWnd,&vwrect);

//Set the Child to this position
pVW->SetWindowPosition(0,0,vwrect.right,vwrect.bottom);

//and now the long awaited play
pGB->Run();



Es gibt jedoch immer einen Fehler bei pGB->Run();
Diese Funktion wird wohl unter DirectX9 nicht mehr unterstützt ist dies möglich?

Ich möchte im Prinzip einfach ein Intro welches ich mit [Esc] abbrechen kann! Das Video sollte auch nicht den ganzen Bildschirm füllen. Ich muss es also im Fullscreenfenster (800x600) plazieren können!

Hat mir jemand ein Beispiel dazu?

Vielen Dank für die Antworten!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 27.04.2005, 11:45    Titel: Antworten mit Zitat

hm, ich hab dazu n Beispielcode, wo n video auf ne Texur gerendert wird. Naja, ist aus dem buch von David Scherfgen, vielleihc tschikt ders dir ja, wenn du lieb fragst Wink
http://scherfgen-software.net/
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 27.04.2005, 12:19    Titel: Antworten mit Zitat

Nimm dafür direkt DirectDraw, ist besser da schneller. Direct3D kannste dafür floppen und DirectDraw kann besser mit DirectShow zusammen arbeiten.
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
addict
Mini JLI'ler



Anmeldedatum: 27.04.2005
Beiträge: 21

Medaillen: Keine

BeitragVerfasst am: 27.04.2005, 15:52    Titel: Antworten mit Zitat

Hast du mir ein Beispiel wie ich dies machen kann?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 27.04.2005, 16:08    Titel: Antworten mit Zitat

In der SDK-Doku gibt es einige DirectDraw interfaces, darunter auch: IDirectDrawVideo Wink Ich glaube den Rest kannst Du Dir selbst beibringen Wink
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
addict
Mini JLI'ler



Anmeldedatum: 27.04.2005
Beiträge: 21

Medaillen: Keine

BeitragVerfasst am: 27.04.2005, 18:22    Titel: Antworten mit Zitat

Hi wo genau finde ich das IDirectDraw beispiel? Ich habe in den Samples unter C++ gar kein DirectDraw-Ordner....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 27.04.2005, 18:25    Titel: Antworten mit Zitat

Saug Dir das DirectX8 SDK, dort war alles drin. In der MSDN müsstest Du es noch finden. Ansonsten google->DirectShow Tutorials.
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
addict
Mini JLI'ler



Anmeldedatum: 27.04.2005
Beiträge: 21

Medaillen: Keine

BeitragVerfasst am: 27.04.2005, 18:26    Titel: Antworten mit Zitat

Kann ich denn directX9 mit DirectX8 kombinieren?
Wo kriege ich die DirectX8 SDK noch her?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 27.04.2005, 18:28    Titel: Antworten mit Zitat

DirectX ist abwärtskompatibel, das sollte spätestens dann aufgefallen sein nachdem man die COM-Architektur verstanden hat.

Das SDK bekommste auf der MSDN.
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
addict
Mini JLI'ler



Anmeldedatum: 27.04.2005
Beiträge: 21

Medaillen: Keine

BeitragVerfasst am: 27.04.2005, 20:08    Titel: Antworten mit Zitat

Ja das dies abwärtskompatibel ist, ist mir schon klar, aber kann ich beide Versionen in einer Applikation brauchen???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 27.04.2005, 20:18    Titel: Antworten mit Zitat

Wenn die Interfaces dies zulassen sollte es kein Problem darstellen.
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
FH
Super JLI'ler


Alter: 36
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 28.04.2005, 20:50    Titel: Antworten mit Zitat

Patrick: Erklärst du mir den Sinn dahinter, hier DirectDraw zu verwenden?
Wenn man das in einem Spiel machen wollte, wäre das sinnvoll... Aber hier geht es darum, nur das Video zu rendern... Klar is DDraw schneller, aber ich krieg mit D3D-Surfaces sogar auf einem 500Mhz-Rechner mit ner TNT2 äußerst flüssig zum laufen!
Gruß

FH
_________________
goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 28.04.2005, 21:02    Titel: Antworten mit Zitat

Direct3D war nicht dafür ausgelegt worden für Videos, DirectDraw jedoch für 2D, Videos und Grafikmixungen. Deshalb ist DirectDraw auch schneller für Videos und sollte bevorzugt werden, auch weil es mit DirectShow leichter zusammenarbeiten kann.
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
FH
Super JLI'ler


Alter: 36
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 28.04.2005, 21:13    Titel: Antworten mit Zitat

Es läuft flüssig, und warum sollte man sich extra-Arbeit machen? Du schreibst die STL doch auch net neu...
Gruß

FH
_________________
goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 28.04.2005, 21:15    Titel: Antworten mit Zitat

tja, wenn man Perfektionist ist... Könnte ja auch sien, das du die Videos mal zusammen mit Gamescenen rendern willst (wenn jemand per Funk was sagt, oder so) da könnte es shcon wichtig sein, das es schnell läuft. Aber da jeder mehr als 500 Mhz habne sollte, und es nur für ein Intro ist, gibts es keinen Grudn sich noch sehr viel Mühe mit DDraw zu machen.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum