[C#] AVI Player, mciSendString & Form [Résolu]

Messages postés
728
Date d'inscription
mardi 22 avril 2003
Dernière intervention
19 janvier 2017
- - Dernière réponse : scoubidou944
Messages postés
728
Date d'inscription
mardi 22 avril 2003
Dernière intervention
19 janvier 2017
- 7 déc. 2004 à 17:19
J'ai beau chercher sur Gogole, je n'arrive pas à trouver ma vie complètement.
J'ai besoin d'ajouter un AVI dans un formulaire, par exemple à l'interieur d'un label ou d'une picturebox.
Si je ne spécifie pas le parent, la vidéo est jouée dans une fenetre independante. Si je le spécifie (mal ?) je n'ai aucun résultat.

Qql'1 aurait un sample court, clair, net & précis ?

[DllImport("winmm.dll")]private static extern long mciSendString(string strCommand, StringBuilder strReturn, int iReturnLength, IntPtr hwndCallback);

public void Open(string szFileName, Control _oObject)
{
//mpegvideo is the device type that we are going to use
//the format of the song location must be with double quotes around it
HandleRef hpictur = new HandleRef(_oObject, _oObject.Handle);
string szParent = _oObject.Handle.ToString ();
string szCommand = "open "" + szFileName + ""type mpegvideo alias MediaFile " + "parent" + szParent + " Style " + 0x40000000;
mciSendString(szCommand, null, 0, IntPtr.Zero);
}

public void Play (bool _bLoop)
{
//tell the device to play
string szCommand;
if (_bLoop)
szCommand = "play MediaFile repeat";
else
szCommand = "play MediaFile";
mciSendString(szCommand, null, 0, IntPtr.Zero);
}

----------------------------
C++ forever
C# amateur
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
89
3
Merci
manque un espace avant type
string szCommand = "open "" + szFileName + "" type mpegvideo alias MediaFile style child parent " + szParent;


Cocoricoooooooo !!!!
coq
MVP Visual C#

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 114 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_coq
Messages postés
305
Date d'inscription
vendredi 18 juillet 2003
Dernière intervention
2 août 2010
0
Merci
Tu as 2 autres méthodes pour jouer un avi.
Soit avec Windows média player (que je te déconseille pour sa lourdeur) il existe un SDK (cf msdn)

Soit avec DirectX Managed ou il existe un objet Video ultra simple à mettre en place
video = new Video("mavideo.avi");
video.Ending += new System.EventHandler(this.VideoEnded);

video.Owner = monPictureBox;
video.Play();
...
video.Stop();

Par contre je n'ai jamais travaillé avec mci en .net
Théo
Commenter la réponse de cs_RMI
Messages postés
728
Date d'inscription
mardi 22 avril 2003
Dernière intervention
19 janvier 2017
0
Merci
Je V tenter tout ca.
Par contre, question compatibilité? Il va falloir quel DirectX pour supporter cet appel ?

----------------------------
C++ forever
C# amateur
Commenter la réponse de scoubidou944
Messages postés
305
Date d'inscription
vendredi 18 juillet 2003
Dernière intervention
2 août 2010
0
Merci
J'utilise pour ma part DirectX 9c
Théo
Commenter la réponse de cs_RMI
Messages postés
728
Date d'inscription
mardi 22 avril 2003
Dernière intervention
19 janvier 2017
0
Merci
étape suivante : la transparence en Magenta

szCommand = "setvideo MediaFile key color to 255:0:255";
mciSendString(szCommand, null, 0, IntPtr.Zero);

mais pour info ca marche pas :(
----------------------------
C++ forever
C# amateur
Commenter la réponse de scoubidou944

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.