Jouer une vidéo avi (sans mfc)

Soyez le premier à donner votre avis sur cette source.

Vue 6 791 fois - Téléchargée 912 fois

Description

Ceci est une application Win32 avec une boite de dialogue comme fenêtre principale. Le but est de fournir un exemple d'utilisation du contrôle ANIMATE directement avec les APIs Win32.

Il y a trois sources : animeDlg.cpp resource.h et dlg.rc

A ne pas oublier : linker avec comctl32.lib
nécessaire pour résoudre l'appel à InitCommonControls();

Source / Exemple :


//***********************************
//Source resource.h
//***********************************
#define IDC_ANIME       1000
#define IDD_DIALOGUE	1

//***********************************
//Source animeDlg.cpp
//***********************************
#include <windows.h>
#include <commctrl.h>// pour le contrôle ANIMATE
//ainsi que le link avec comctl32.lib
#include "resource.h"

BOOL CALLBACK maDlgProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam) ;

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int  nCmdShow)
{
	InitCommonControls();// pour le contrôle ANIMATE
	
	if (!DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOGUE), 0,(DLGPROC)maDlgProc)) 
		{MessageBox(0,"raté","dialogue",MB_OK); return 1;} 
    
MSG msg;

while (GetMessage(&msg, NULL, NULL, NULL)) DispatchMessage(&msg);

      return msg.wParam; 
}

BOOL CALLBACK maDlgProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam) 
{ 
    switch (message) 
    { 

		case WM_INITDIALOG:
		    Animate_Open(GetDlgItem(hwndDlg, IDC_ANIME), "clock.AVI");
			Animate_Play(GetDlgItem(hwndDlg, IDC_ANIME),0, -1, -1);
			return true;
			break;
	case WM_COMMAND: 
            switch (LOWORD(wParam)) 
            { 
                case IDOK: 
					PostQuitMessage(1);
					EndDialog(hwndDlg, 0);
					return true;
			}
	}
      return false;
}

//***********************************
//Source dlg.rc
//***********************************
#include <windows.h>
#include "resource.h"

IDD_DIALOGUE DIALOG DISCARDABLE  0, 0, 280, 220
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
CAPTION "une Vidéo"
FONT 8, "MS Sans Serif"
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,220,20,50,50,WS_GROUP
    CONTROL         "Animate",IDC_ANIME,"SysAnimate32",WS_BORDER | 
                    WS_TABSTOP,0,0,200,250
END

Codes Sources

A voir également

Ajouter un commentaire Commentaires
shuttleur
Messages postés
33
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
30 juin 2008

6 avril 2008 à 16:47
Salut VieuxLion !

Je bosse sur ce contrôle win32 et je galère pour faire un avi compatible.

Apparemment, il faut ce format : BI_RLE8, ou un avi non compressé, mais je ne parviens pas à en faire un.

Aurais-tu utilisé un soft en particulier ?

Merci d'avance !
pimpampoum_92
Messages postés
2
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
15 avril 2005

15 avril 2005 à 04:13
Oups! J'ai fait quelques tests et recherche et je crois que la taille du fichier n'entre pas en compte. Par contre le code de type Animate_xxxx() ne permet que de traiter des fichier avi compressé avec MS-RLE. Comment faire pour d'autre format tel que indeo video 5????
pimpampoum_92
Messages postés
2
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
15 avril 2005

14 avril 2005 à 20:45
Super, excellent code. Mais comment faire pour que cela fonctionne aussi avec de gros fichiers .avi?
samuelbrie
Messages postés
35
Date d'inscription
lundi 4 octobre 2004
Statut
Membre
Dernière intervention
20 avril 2005

28 oct. 2004 à 18:42
Peut on récupérer un pointeur sur la frame afin de modifier celle-ci et enregistrer soit en ume image ou un fichier modifier .avi?
jeancrien
Messages postés
6
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
30 juin 2003

7 juil. 2003 à 12:22
Bravo c'est nickel et ça va me dépanner pas mal...
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.