Utiliser QuartzTypeLib

sliverman Messages postés 83 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 8 juillet 2008 - 2 févr. 2008 à 18:20
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 - 4 févr. 2008 à 10:10
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

9 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
2 févr. 2008 à 18:42
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..
0
sliverman Messages postés 83 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 8 juillet 2008
2 févr. 2008 à 19:08
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
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
3 févr. 2008 à 10:34
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
0
sliverman Messages postés 83 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 8 juillet 2008
3 févr. 2008 à 11:17
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sliverman Messages postés 83 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 8 juillet 2008
3 févr. 2008 à 11:24
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 ?
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
3 févr. 2008 à 18:28
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 ).
0
sliverman Messages postés 83 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 8 juillet 2008
3 févr. 2008 à 18:37
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();
             }
        }
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
3 févr. 2008 à 20:14
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é.
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
4 févr. 2008 à 10:10
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).
0
Rejoignez-nous