IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

FMOD - Problème de tag


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Par défaut FMOD - Problème de tag
    Bonjour !

    Je travaille sur un logiciel de lecture de shoutcast depuis un petit moment et j'ai voulu l'evoluer. J'ai donc rajouté une fonctionnalité pour avoir une librairie des fichiers de musiques présent sur l'ordinateur pour pouvoir les lire.

    Jusque là j'ai pu me débrouiller pour avancer tout en m'aidant de ce forum.

    Maintenant, je souhaite récuperer les tags. En faite, j'utilise une boite de dialogue pour recherche un dossier et je le parcourt. J'ai fais mes test et je récupère bien les fichiers, les mettre dans ma liste et les lires mais j'ai un soucis concernant les tags.

    Je n'arrive pas à les récuperer ou partiellement. Bizarrement lorsque je emt un point d'arret et que j'attend un peu pour avancer les tags apparaissent, sinon j'ai rien (il me renvois null).

    Voici ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
            public string recuperation_tag()
            {
                string SArtiste = "";
                string STitre = "";
                string message = "";
                FMOD.TAG TagArtiste = new FMOD.TAG(), TagTitre = new FMOD.TAG();
                this.son.getTag("ARTIST", 0, ref TagArtiste);
                SArtiste = Marshal.PtrToStringAnsi(TagArtiste.data);
                this.son.getTag("TITLE", 0, ref TagTitre);
                STitre = Marshal.PtrToStringAnsi(TagTitre.data);
     
                if ((SArtiste != null) || (STitre != null))
                {
                    if ((SArtiste != null) && (STitre != null))
                    {
                        message = SArtiste + " - " + STitre;
                    }
                    else
                    {
                        message = SArtiste + STitre;
                    }
                }
     
                else
                {
                    message = "Informations indisponibles";
                }
                return message;
            }
    Lorsque je suis en mode radio( shoutcast) je récupère bien les tags mais pas sur mes fichiers locaux. Le fichier de test est bien taggué (depuis les propriété du fichier sous windows je vois bien les tags, voir je les aient rajoutés).

    Quelqu'un serais pourquoi j'ai ce bug? comment faut t'il proceder?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    avec FMOD, je ne sais pas (surement sur la FAQ FMOD)

    Sinon, tu as du code sur www.Codeproject.com qui t'explique comment lire
    des tag (mp3 entre autre) d'un fichier audio

    The Monz, Toulouse

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FMOD.TAG TagArtiste = new FMOD.TAG(), TagTitre = new FMOD.TAG();
    Ca compile ca déjà ?

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Oui, ça compile, même si je t'accorde que c'est tellement laid qu'on dirait du VB

  5. #5
    Membre éclairé Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Par défaut
    Oui ça compile et c'est laid je vous l'accorde

    En meme temps lorsqu'on fais du forcing de méthode car rien ne fonctionne et qu'on est au milie de la nuit, je t'avoue qu'on sais plus trop comment coder et on se prend moins la tête avec le style

    Sinon je regarde sur codeproject là et je trouve rien concernant les tags avec fmod.

  6. #6
    Membre éclairé Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Par défaut
    Finalement et m'aidant de l'exmple officiel FMOD j'arrive à ce résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
        class gestionTag
        {
            private FMOD.System system = null;
            private FMOD.Sound sound = null;
     
            private FMOD.TAG tag = new FMOD.TAG();
            private int numtags = 0;
            private int numtagsupdated = 0;
     
            public gestionTag(string song)
            {
                FMOD.Factory.System_Create(ref system);
                system.init(100, FMOD.INITFLAG.NORMAL, (IntPtr)null);
                system.createSound(song, (FMOD.MODE.SOFTWARE | FMOD.MODE._2D | FMOD.MODE.CREATESTREAM | FMOD.MODE.OPENONLY), ref sound);
                sound.getNumTags(ref numtags, ref numtagsupdated);
            }
     
            public string getArtist()
            {
                string artist = "";
     
                sound.getTag("ARTIST", 0, ref tag);
                artist = Marshal.PtrToStringAnsi(tag.data);
                return artist;
            }
        }
    Et là j'obtient bien le nom de l'artiste. Voulant implémenter ça dans un ajout de fichiers, j'ai donc fais ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                    foreach (FileInfo next in files)
                    {
                        gestionTag oTag = new gestionTag(next.FullName);
                        XmlElement ENomMusique = xmlAjout.CreateElement("nom_musique");
                        ENomMusique.SetAttribute("name", next.Name);
                        xmlAjout.SelectSingleNode("//musique").PrependChild(ENomMusique);
                        xmlAjout.Save("musiques.xml");
    oTag = null;
                    }
    Pour la première musique j'ai bien les informations mais pas pour les suivantes... J'ai tenté de faire un tableau d'objet de ma classe gestionTag mais sans résultat. comment je peut free mon objet et le recréer en boucle pour lire le tag et remplir mon fichier xml?

    Finalement le code fonctionne correctement car j'ai rajouté un fonction pour le temps et j'ai bien les bons temps mais els tags marchent pas.... je me demande si la lecture des tags est vraiment fiable avec FMOD

Discussions similaires

  1. Fmod problème compilation
    Par sismic_SDZ dans le forum Débuter
    Réponses: 2
    Dernier message: 02/05/2011, 08h48
  2. SDL et fmod problème
    Par TWEESTY dans le forum SDL
    Réponses: 1
    Dernier message: 30/04/2010, 01h31
  3. [CLI] Problème checkout tag
    Par coolcool29 dans le forum CVS
    Réponses: 0
    Dernier message: 15/12/2008, 11h58
  4. problème création tag tld perso lors de l'affichage
    Par eniraka dans le forum Struts 1
    Réponses: 1
    Dernier message: 07/01/2008, 22h31
  5. Réponses: 2
    Dernier message: 20/09/2006, 21h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo