ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
1399
1399
EMPFEHLEN
-
Hallo,
Ich will in einem Modalen Fenster eine AVI wiedergeben. Dafür habe ich einen CAnimatedCtrl eingefügt und in DoDataExchange folgendes reingeschrieben
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CAnimateCtrl m_video; char cwd[MAX_PATH+1]; _getcwd(cwd,MAX_PATH); char s [230]; char asd[50]; _itoa_s ( (rand() % 2+1), asd, 10 ); strcpy_s(s,cwd); strcat_s(s,"\\res\\"); strcat_s(s,asd); strcat_s(s,".avi"); CString sat =_T(""); sat.Format(_T("%s"),s); if (m_video.Open(sat)) m_video.Play(0,-1,-1);
Eigentlich sollte nun aus dem Ordner "res" der bei der .EXE liegt entweder "1.avi" oder "2.avi". Leider funktioniert etwas bei "m_video.Open(sat)" nicht und ich bekomme beim Ausführen des Programms die Meldung
debug assertion failed
...
afxcmn.inl
Line: 619
Dort steht nun:
Code :1 2 3
_AFXCMN_INLINE BOOL CAnimateCtrl::Open(LPCTSTR lpszName) { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, ACM_OPEN, (WPARAM) ::AfxFindResourceHandle(lpszName, _T("AVI")), (LPARAM)lpszName); }
Könnte jemand mir vielleicht sagen, was ich ändern muss? Auch würde ich mich über Verbesserungen des sonstigen Codes freuen.
Danke im Voraus.
-
Hallo,
wird das CAnimateCtrl auch irgendwo erzeugt ( m_video.Create( ... ); )? Die Assertion sagt nämlich aus, dass zu dem Control kein Fenster existiert.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
Jetzt habe ich
Code :1 2 3 4 5
LPVOID pParam; pParam = pParent; CWnd* pParentWnd = (CWnd*) pParam; CAnimateCtrl m_video; m_video.Create(WS_CHILD|WS_VISIBLE|ACS_CENTER,CRect(10,10,100,100), pParentWnd, 1);
am Anfang hinzugefügt, aber was brauche ich für pParam. Er meckert mir, dass ich pParam nicht initialisiert habe. Was fehlt also?
-
Also, was du da mit pParam veranstaltest, ist mir schleierhaft. Wenn du den Code innerhalb deines modalen Dialogs aufrufst, kannst du es so schreiben:
Übrigens solltest du die Deklaration ( CAnimateCtrl m_video; ) im Header deines Dialogs und die obige Create-Methode bei OnInitDialog() aufrufen.Code cpp:1
m_video.Create(WS_CHILD|WS_VISIBLE|ACS_CENTER,CRect(10,10,100,100), this, 1);
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
Gut ich habe ein bisschen probiert und habe es zum laufen gebracht, aber mit den Einschränkungen werden meine Videos zu groß und müssen noch seperat mit Ton versehen werden.
Nun wollte ich fragen was mit der "MCIWnd Window Class" auf sich hat und was ich bruche um eine einfache Avi abzuspielen.
Da ich mich noch nicht ganz in die Materie eingearbeitet habe, bzw. meistens nicht weiß was ich mache (das kommt später (learning by doing)) habe ich jetzt versucht das Beispiel zum laufen zu bringen, aber leider ohne Erfolg.
Könnte mir vielleicht jemand sagen, wohin die Zeilen müssen und welche Werte ich anpassen muss. Mir geht es jetzt um eine ganz einfache MFC-Anwendung ohne modalen Dialog.
Danke im Voraus.
-
Ich habe nochmal gegoogelt und etwas (fast ganz unten) gefunden. Nun bekomme ich beim Starten des Videos über einen Button in einem neuen Fenster die Fehlermeldung:
Code :1 2
MCI-Fehler: Der Gerätetreiber ist nicht bereit.
Der Code ist (fast) der gleiche wie im Forum.
Fehlt mir eine Initialisierung von der MCI-Klasse, -Treiber?Geändert von min (13.03.11 um 20:21 Uhr)
Ähnliche Themen
-
NSV wiedergabe ?
Von djCalypso im Forum VisualStudio & MFCAntworten: 3Letzter Beitrag: 17.10.06, 00:13 -
MP3 Wiedergabe
Von Stephan Boettcher im Forum Visual Basic 6.0Antworten: 5Letzter Beitrag: 07.12.05, 15:13 -
DVB-T Wiedergabe
Von metalgear im Forum Videoschnitt, Videotechnik & -produktionAntworten: 1Letzter Beitrag: 05.11.05, 12:55 -
Musik wiedergabe
Von Stephan Boettcher im Forum Visual Basic 6.0Antworten: 13Letzter Beitrag: 06.04.05, 11:46 -
zufällige wiedergabe
Von Chri$ im Forum C/C++Antworten: 3Letzter Beitrag: 25.04.04, 14:21





Zitieren
Login






