Video abspielen
-
da brauchst quasi kein Codeschnipsel!
Einfach nen Dialog anlegen dem eine Klasse vom Typ CHtmlView zuordnen und dann nur noch in der OnInit vom neuen DialogCString ganzerPfad = "D:\\test\\XXX.avi"; Navigate2(_T(ganzerPfad),NULL,NULL);
-
Blöde Frage, aber wie kann ich einen solchen Dialog starten? Ich habe einen neuen Dialog hinzugefügt, dann mit dem Klassenassistenten vererbt. In meinem Hauptdialog habe ich in der OnInit dann den Start. Wie kann ich dort aber den Dialog starten?
cMeineVererbteKlasse dlg(was_muss_hier_rein?); dlg.DoModal();
mfg Thomas
-
öhm wieso willst du nach dlg überhaupt klammern also normalerweise kannste die einfach weglassen, welche Methode verwendest du denn nun??
-
Polofreak schrieb:
...welche Methode verwendest du denn nun??
was meinst du damit? Im allgemeinen rufe ich die Dialoge wie follgt auf:
cMeineVererbteKlasse dlg(IDD_DIALOG1); dlg.DoModal();
-
mit methode hatte ich mich sehr missverständlich ausgedrückt ich wollte wissen ob du ein CHtmlView gemacht hast oder DirectShow (was ich nicht verstehe, liegt aber vermutlich daran weil ich mich nciht richtig damit beschäftigt habe!)
-
Jo, DirectShow ist am Anfang nicht ganz so einfach (wenn auch noch eine der leichteren DirectX Schnittstellen). Und wenn man wirklich in die tiefe gehen will (was ich mir dann doch erspart habe) wirds schon ziemlich komplex mit den ganzen Filtern und dem Zeugs.
Allerdings erledigen sich, wenn man sich mal eingearbeitet hat, gleich mehrere Fragen für die Windows programmierung aka:
- Wie kann ich ein Video abspielen?
- Wie kann ich Hintergrundmusik (MIDI/WAV/MP3...) abspielen?
- Wie kann ich das eingabebild einer analogen aufnahmequelle anzeigen?
- Wie kann ich von einer analogen aufnahmequelle aufnehmen?
-
DirectShow ist es nicht, müsste also CHtmlView sein.
-
wenn du meine Variante mit dem CHtmlView genommen hast, dann solltest du nicht doModal machen, da es ein VIEW ist und kein Dialog! Wenn du mehrere Views hast und du willst zwischen denen hin und her switchen dann schau dir das hier an. Wenn du damit nicht klar kommst, geb ich dir auch für alles komplett nochmal ne Erklärung aber versuch es erst mal so!
-
Wie ist das eigentlich mit der mci? Oder ging die nur für WinAPI, ne, das kann nicht... benutz doch die mci... die kann alles abspielen...sogar avis erstellen...
-
Polofreak schrieb:
wenn du meine Variante mit dem CHtmlView genommen hast, dann solltest du nicht doModal machen, da es ein VIEW ist und kein Dialog!
Ja ich verwende deine Variante mit CHtmlView, aber:
- ich habe eine Dialogfeld basierende Anwendung (kein SDI)
- ich will nicht zwischen den beiden Dialogen umschalten, der Film soll einfach nur parallel zu meiner Anwendung laufen.Den Film habe ich jetzt auch zum laufen gebracht, leider weiss ich noch nicht, wie ich den Fokus auf dem Hauptdialog belassen kann, den FilmDialog aber nach Ende des Films wieder automatisch schliessen kann?
Den "FilmDialog" kann ich mit DoModal() aufrufen:
cMeineVererbteKlasse FilmDLG(GetWindow(IDD_MEIN_HAUPTDIALOG)); FilmDLG.DoModal();
mfg Thomas