Utiliser QuartzTypeLib

Signaler
Messages postés
83
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
8 juillet 2008
-
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
-
Bonsoir à tous, je voudrais utiliser la librairie QuartzTypeLib mais je ne sais pas trop comment utiliser les librairie je l'ai ajouter en tant que référence et rajouter using QuartzTypeLib
Pour le moment je voudrais lire un fichier mp3 et pourquoi pas par la suite lire et modifier des tag si possible

Et que faut il utiliser pour jouer un son, par exemple on a QuartzTypeLib.IMediaDuration pour la durée je pense mais pour le reste...

Si vous pouviez mettre un petit exemple d'utilisation commenté sa serai sympa ^^

Merci d'avance
A voir également:

9 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Salut, tu as des exemples sur le site sinon la doc de Quartrz.dll se trouve dans le SDK de DirectShow pour VisualBasic :

http://msdn2.microsoft.com/en-us/library/ms787852(VS.85).aspx

Mieux vaut peut être regarder du coté des libs comme DirectShow.NET, Managed DirectX, FMOD etc..
Messages postés
83
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
8 juillet 2008

Merci mais je ne suis pas expert, donc je préferai avoir du C# et avec un exemple avec une librairie simple et efficace pour utiliser des fichier audio dans une application ^^

Merci bien
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Une doc en C# pour Quartz.dll ça n'existe pas, c'est un objet COM pour Visual Basic à la base.. Il te reste les exemples sur le site :

http://www.csharpfr.com/recherche.aspx?tr=forum&r=QuartzTypeLib

Le plus simple pour lire un MP3 en C# c'est la classe Audio du namespace AudioVideoPlayback de MDX :

http://msdn2.microsoft.com/en-us/library/bb324224(VS.85).aspx
Messages postés
83
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
8 juillet 2008

J'ai été voir ici, http://www.csharpfr.com/code.aspx?id=22660 et je voudrais lire les mp3 ouvert dans un listView donc j'ai ouvert des mp3 dans cette listView et quand je double clic sur un mp3 je voudrais le lire mais je ne sais pas comment utiliser une classe dans mon fichier de code "général"

Merci bien
Messages postés
83
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
8 juillet 2008

Voila se que j'ai trouvé :

private void lstMusique_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            PxMedia.PxMusic son = new PxMedia.PxMusic(openFileDialog.FileName);
            son.Play();
        }
Mais quand on reclic dessus il ne s'arrète pas et donc on peut lire x musique en même temps comment éviter cela ?
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Il ne faut surtout pas créer le player dans cette fonction, mais à l'exterieur, et verifier la propriété Status du player avant de lancer une lecture. (  Stopped, Paused, Playing ).
Messages postés
83
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
8 juillet 2008

Pas tout compris :s:s

J'ai fais ca mais rien :

private void lstMusique_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            PxMedia.PxMusic son = new PxMedia.PxMusic(openFileDialog.FileName);
            if(son.Status == "Stop"){
            son.Play();
             }
        }
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
C'est pas "Stop" mais "Stopped". En plus de ça il semble que la chaine Status peut être non initialisée, donc null.

if( son.Status == null || son.Status != "Playing" )
    son.Play( );

L'autre problème c'est que tu as crée la variable son dans la fonction lstMusique_MouseDoubleClick donc une fois que cette fonction est finie il se peut que ton player soit supprimé de la mémoire et donc arrêté.
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
DirectShow, c'est simplement des objets com natif. Tu n'auras pas de code C# tout pondu comme ca avec directshow. Le mieux si tu veux vraiment utiliser cette techno (mal documentée, un peu obscure, et surtout complexe a aborder si tu ne connais pas COM et le multimédia a la base), cest de regarder du coté de managed directshow (qui est un ensemble de wrapper C# pour directshow, mais qui ne provient pas de microsoft et ne possède donc aucun support officiel...ce qui n'entache pas forcément la qualité du produit mais doit etre gardé en tete avant de l'utiliser).
Apres selon la complexité des opérations audio que tu dois effectuer, tu devrais plutot utiliser la piste de lutinore (qui te permettra de moins te prendre la tête).