begin process at 2012 02 12 04:44:35
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Multimédia

 > JOUER UNE VIDÉO AVI (SANS MFC)

JOUER UNE VIDÉO AVI (SANS MFC)


 Information sur la source

Note :
7,67 / 10 - par 3 personnes
7,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Multimédia Niveau :Débutant Date de création :08/01/2003 Date de mise à jour :08/01/2003 09:17:28 Vu / téléchargé :5 533 / 764

Auteur : vieuxLion

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 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

  • //***********************************
  • //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
//***********************************
//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


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture UN BUFFEROVERRUN : LE DÉBORDEMENT DE PILE
CONNAISSEZ VOUS PRINTF ?
Source avec Zip Source avec une capture Source .NET (Dotnet) C++ MANAGÉ PAR LES HELLO WORLDS (DOTNET)
Source avec Zip SIMPLE MOYEN DE FAIRE UNE DLL À PARTIR DE FONCTIONS CPP
LE VECTEUR EST UN SACRÉ COPIEUR

 Sources de la même categorie

Source avec Zip ADAPTER LES TEMPS DE SUBTITLES DE SOUS TITRAGE ENTRE DEUX LA... par berrami
Source avec Zip Source avec une capture DÉTECTION DE VISAGE (YEUX, NEZ, BOUCHE) AVEC OPENCV EN TEMPS... par MadM@tt
Source avec Zip Source avec une capture GÉNÉRATEUR FM EXPÉRIMENTAL par tontonCD
Source avec Zip LECTEUR MULTIMÉDIA par omegatou
Source avec Zip IMPLÉMENTATION D'UN ALGORITHME DE COMPRESSION/DECOMPRESSION ... par eemikhm

Commentaires et avis

Commentaire de LordBob le 08/01/2003 10:46:58

ouais ca va pas mal... :) plutot bien d'ailleurs... ca peut toujours rendre des services...

Commentaire de Kaid le 08/01/2003 11:12:43

J'ai juste une petite question: a quoi sert ce bout de code:

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

return msg.wParam;

Commentaire de vieuxLion le 08/01/2003 12:36:54

c'est bien vu, cette partie peut être remplacée par
return 0;
car il n'y a pas de fenêtre (donc pas de messages) hors la boite de dialogue.
Et DialogBox s'occupe d'envoyer les messages à la bonne procédure directement

Commentaire de Galett le 08/01/2003 23:45:50

toujours de bonnes sources Vieux Lion, Merci !

Commentaire de jeancrien le 07/07/2003 12:22:09

Bravo c'est nickel et ça va me dépanner pas mal...

Commentaire de samuelbrie le 28/10/2004 18:42: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?

Commentaire de pimpampoum_92 le 14/04/2005 20:45:49

Super, excellent code. Mais comment faire pour que cela fonctionne aussi avec de gros fichiers .avi?

Commentaire de pimpampoum_92 le 15/04/2005 04:13:26

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????

Commentaire de shuttleur le 06/04/2008 16:47:41

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 !

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,510 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales