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

scoubidou944 728 Messages postés mardi 22 avril 2003Date d'inscription 19 janvier 2017 Dernière intervention - 7 déc. 2004 à 14:13 - Dernière réponse : scoubidou944 728 Messages postés mardi 22 avril 2003Date d'inscription 19 janvier 2017 Dernière intervention
- 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
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 7 déc. 2004 à 16:47
3
Merci
manque un espace avant type
string szCommand = "open "" + szFileName + "" type mpegvideo alias MediaFile style child parent " + szParent;


Cocoricoooooooo !!!!
coq
MVP Visual C#

Merci cs_coq 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_coq
cs_RMI 305 Messages postés vendredi 18 juillet 2003Date d'inscription 2 août 2010 Dernière intervention - 7 déc. 2004 à 16:27
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
scoubidou944 728 Messages postés mardi 22 avril 2003Date d'inscription 19 janvier 2017 Dernière intervention - 7 déc. 2004 à 16:54
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
cs_RMI 305 Messages postés vendredi 18 juillet 2003Date d'inscription 2 août 2010 Dernière intervention - 7 déc. 2004 à 17:10
0
Merci
J'utilise pour ma part DirectX 9c
Théo
Commenter la réponse de cs_RMI
scoubidou944 728 Messages postés mardi 22 avril 2003Date d'inscription 19 janvier 2017 Dernière intervention - 7 déc. 2004 à 17:19
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.