begin process at 2012 05 30 18:15:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Multimédia

 > 

tagsMp3+FMOD+wxWIDGETS


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

tagsMp3+FMOD+wxWIDGETS

dimanche 31 juillet 2005 à 17:27:49 | tagsMp3+FMOD+wxWIDGETS

satellite34

salut, je voudrai récuperer les tags des fichiers audio avec FMOD et wxWIDGETS .Pourriez vous me donner la méthode pour faire ca car je comprens pas biencomment ca s'passe

merci bien a tous
++
mardi 2 août 2005 à 22:00:01 | Re : tagsMp3+FMOD+wxWIDGETS

satellite34

personne pour les tags???
j' ai essayer d' utiliser la classe id3v d' un mister sur le site mais impossible d'inclure son .h qui est fait pour du win 32

Explikez moi comment récuperer les tags avec
FSOUND_Stream_GetTagField(
FSOUND_STREAM *stream,
int num,
int *type,
char **name,
void **value,
int *length
);
SVP !!!!!!!!
je rame et je suis sur que c'est un tit truk a la con!


allé ++ et thx
jeudi 4 août 2005 à 02:44:34 | Re : tagsMp3+FMOD+wxWIDGETS

satellite34

Bon, vu que personne veut m' aider j' agrémente un peu :
voila mon code actuel:

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////
*Clik sur infos dans le menu
*///////////////////////////////////////////////////////////////////////////////////////////////////////////
//création des éléments graphiques de la fenetre infosDlg...
void Mp3PlayerFrm::MenuInfos(wxCommandEvent& event)
{  
       if(!stream){return;}
       infosDlg = new wxDialog(this, -1, "infos tags", wxPoint(0,0), wxSize(300,310), wxDEFAULT_DIALOG_STYLE ,"dialogBox");
       info1 = new wxStaticText (infosDlg, -1, "Emplacement :", wxPoint(10,10), wxDefaultSize, 0, "staticText");       
       info2 = new wxStaticText (infosDlg, -1, "Titre :", wxPoint(10,50), wxDefaultSize, 0, "staticText");
       info3 = new wxStaticText (infosDlg, -1, "Artiste :", wxPoint(10,90), wxDefaultSize, 0, "staticText");
       info4 = new wxStaticText (infosDlg, -1, "Durée :", wxPoint(10,130), wxDefaultSize, 0, "staticText");
       info5 = new wxStaticText (infosDlg, -1, "Date :", wxPoint(10,170), wxDefaultSize, 0, "staticText");
       info6 = new wxStaticText (infosDlg, -1, "Commentaires :", wxPoint(10,210), wxDefaultSize, 0, "staticText");
       ligne1 = new wxStaticLine(infosDlg, -1, wxPoint(10,250), wxSize(280, -1), wxLI_HORIZONTAL, "staticLine");
       infosDlg->Show(true);
       infos();
}

void Mp3PlayerFrm::infos()
{
if(!stream){return;}
int num;
int type;
char *name;
void *value;
int length;

if (!FSOUND_Stream_GetNumTagFields(stream, &num)){return;}
if (num==0){return;}

for (int i = 0; i < num; i++){
    FSOUND_Stream_GetTagField(stream,i,&type,&name,&value,&length);

    // et c'est la que le bas blaisse!!!!!
    }
}

en fait, j' arrive a récupérer le tag , j'ai fait des tests avec des messages box et j' ai bien toutes les infos dans value.Donc mon probleme c'est savoir comment dissocier titre , année, artiste etc... et tout ca avec wx.
j'ai reluqué qques exemples de cppcs mais je dois dire que je ne comprends pas.
par ex :

 // Titre
        if( !strcmp(Nom_Champ,"TITLE") )
            strncpy( Infos.Titre, (char*)Val_Champ, len );
        // Album
        else if( !strcmp(Nom_Champ,"ALBUM") )
            strncpy( Infos.Album, (char*)Val_Champ, len );

etc....
d' ou sort "TITLE"??
 if( !strcmp....  -> comprends pas ca.

voila donc avec ces précisions va bien y avoir qqun qui va pouvoir me donner un coup de main j' espere.

merci bien
++

tekno, tekno

jeudi 4 août 2005 à 04:04:59 | Re : tagsMp3+FMOD+wxWIDGETS

satellite34

ben du coup je suis allé faire un tit tour ds le manuel de référence cpp et j' ai réussi !
pour ceux que ca interresse :

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////
*Clik sur infos dans le menu
*///////////////////////////////////////////////////////////////////////////////////////////////////////////
//création des éléments graphiques de la fenetre infosDlg...
void Mp3PlayerFrm::MenuInfos(wxCommandEvent& event)
{  
       if(!stream){return;}
       infosDlg = new wxDialog(this, -1, "infos tags", wxPoint(0,0), wxSize(300,310), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER,"dialogBox");
       info1 = new wxStaticText (infosDlg, -1, "", wxPoint(10,10), wxDefaultSize, 0, "staticText");       
       info2 = new wxStaticText (infosDlg, -1, "", wxPoint(10,50), wxDefaultSize, 0, "staticText");
       info3 = new wxStaticText (infosDlg, -1, "", wxPoint(10,90), wxDefaultSize, 0, "staticText");
       info4 = new wxStaticText (infosDlg, -1, "", wxPoint(10,130), wxDefaultSize, 0, "staticText");
       info5 = new wxStaticText (infosDlg, -1, "", wxPoint(10,170), wxDefaultSize, 0, "staticText");
       info6 = new wxStaticText (infosDlg, -1, "", wxPoint(10,210), wxDefaultSize, 0, "staticText");
       ligne1 = new wxStaticLine(infosDlg, -1, wxPoint(10,250), wxSize(280, -1), wxLI_HORIZONTAL, "staticLine");
       infosDlg->Show(true);
       infos();
}

void Mp3PlayerFrm::infos()
{
if(!stream){return;}

int num;
int type;
char *name;
void *value;
int length;
char *InfoMedia;
InfoMedia = new char[2500];
wxString msg;

info1->SetLabel(chemin);


if (!FSOUND_Stream_GetNumTagFields(stream, &num)){return;}
if (num==0){return;}

for (int i = 0; i < num; i++)
    {
    FSOUND_Stream_GetTagField(stream,i,&type,&name,&value,&length);
    sprintf(InfoMedia,"%s",value);
       
    if (!strncmp(name, "TITLE", 5))
    info2->SetLabel(InfoMedia);
   
    if (!strncmp(name, "ARTIST", 6))
    info3->SetLabel(InfoMedia);
   
    if (!strncmp(name, "ALBUM", 5))
    info4->SetLabel(InfoMedia);
   
    if (!strncmp(name, "YEAR", 4))
    info5->SetLabel(InfoMedia);
   
    if(!strncmp(name, "COMMENT", 7))
    info6->SetLabel(InfoMedia);
    }
}
bon, c'est évidemment pas fini mais cela récupêre les tags en bon et du forme ds une dialog box

tekno, tekno

samedi 6 août 2005 à 04:28:20 | Re : tagsMp3+FMOD+wxWIDGETS

satellite34

Réponse acceptée !

voici le code qui a priori , n'a pas de bugg, et récupere les tags dans une fenetre a part :

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////
*Clik sur infos dans le menu
*///////////////////////////////////////////////////////////////////////////////////////////////////////////
//création des éléments graphiques de la fenetre infosDlg...
void Mp3PlayerFrm::MenuInfos(wxCommandEvent& event)
{          
       if(!stream){return;}
       if(infosDlg){infosDlg->Show(false);}
       infosDlg = new wxDialog(this, -1, "infos tags", wxPoint(0,0), wxSize(-1,320), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER,"dialogBox");
       info1 = new wxStaticText (infosDlg, -1, "", wxPoint(10,10), wxSize(-1, -1), 0, "staticText");       
       info2 = new wxStaticText (infosDlg, -1, "", wxPoint(10,50),  wxSize(-1, -1), 0, "staticText");
       info3 = new wxStaticText (infosDlg, -1, "", wxPoint(10,90),  wxSize(-1, -1), 0, "staticText");
       info4 = new wxStaticText (infosDlg, -1, "", wxPoint(10,130),  wxSize(-1, -1), 0, "staticText");
       info5 = new wxStaticText (infosDlg, -1, "", wxPoint(10,170),  wxSize(-1, -1), 0, "staticText");
       info6 = new wxStaticText (infosDlg, -1, "", wxPoint(10,210),  wxSize(-1, -1), 0, "staticText");
       ligne1 = new wxStaticLine(infosDlg, -1, wxPoint(0,250), wxSize(2048, -1), wxLI_HORIZONTAL, "staticLine");
       infosDlg->Show(true);
       infos();
}
//balance les infos dans la fentre...
void Mp3PlayerFrm::infos()
{
if(!stream){return;}

int num;
int type;
char *name;
void *value;
int length;
char *InfoMedia;
InfoMedia = new char[1024];
char *emplacement;
emplacement = new char[1024];
wxString msg;

    sprintf(emplacement, "DIRECTORY : %s", chemin);
    info1->SetLabel(emplacement);

if (!FSOUND_Stream_GetNumTagFields(stream, &num)){return;}

if (num==0){return;}

for (int i = 0; i < num; i++)
    {
    FSOUND_Stream_GetTagField(stream,i,&type,&name,&value,&length);
    sprintf(InfoMedia, "%s : %s", name, value);
       
    if (!strncmp(name, "TITLE", 5))
    info3->SetLabel(InfoMedia);
   
    if (!strncmp(name, "ARTIST", 6))
    info2->SetLabel(InfoMedia);
   
    if (!strncmp(name, "ALBUM", 5))
    info4->SetLabel(InfoMedia);
   
    if (!strncmp(name, "YEAR", 4))
    info5->SetLabel(InfoMedia);
   
    if(!strncmp(name, "COMMENT", 7))
    info6->SetLabel(InfoMedia);
    }
}

think community++!
tekno, tekno



Cette discussion est classée dans : fmod, wxwidgets, tagsmp3


Répondre à ce message

Sujets en rapport avec ce message

initialisation de Fmod avec devC++ [ par cppdupdup34 ] je n'y arrive pas je crois qu' il faut faire quelque chose dans lezs option du projet mais je ne sait pas quoi.si vous avez une minute!!mercicppDupDup Fmod [ par norton ] Bonjour a tous, j'aimerai savoir comment faire avec Fmod pour que mon programme vérifie la lecture de mon mp3.je m'explique, j'aimerai que quand mon m probleme avec la librairie FMOD (musique et sons) [ par Amanobuo ] Bonjour, je n'arriva pas a utiliser FMOD pour jouer des musique dans les application. Pour comprendre ce qui ne va pas, voila ce que j essaye de faire FMOD et MP3 [ par LordBob ] Salut a tous,je sais que ma question est simple et qu'il y a des exemples sur le site, mais malgres tou cela, je n'y arrive pas !!! je n'arrive pas à Mp3 et Lib.Fmod [ par SuperTonic ] BonjourJ'ai un soucis sans compendre pkoi. Je dvp sous DevCpp.Je souhaite simplement lancer un mp3 avec la lib fmod.mais j'ai cette erreur :C:\DevCpp\ wxWidgets [ par nacedo23 ] Bonjour,Est-ce possible d'ajouter un wxBitmap ou un wxIcon a une barre d'outils wxToolBar ? (comme un bouton, mais non cliquable)Merci d'avance! FMOD [ par xarier ] SALUT A TOUS comme vous s'avez il existe deux frequence pour les stream (MP3,WMA...) soit le 24000 ou 44100.Alors la je veut que quand je lance une mu fmod [ par khayyam ] salut, ma question est toute simple : comment savoir si un son est terminé de jouer ou non (avec fmod) ?? fmod - arrêter un mp3 [ par khayyam ] salut à tous, pour jouer un mp3 avec fmod, j'utilise le code suivant :son=FSOUND_Sample_Load ( FSOUND_FREE, "toto.mp3", FSOUND_HW2D, 0, 0);channel = F [Fmod] Savoir si un "stream" est joué [ par Rouliann ] Salut tout le monde!Ma question est dans le sujet en fait : Est-ce qu'il y a une fonction qui indique si un "stream" est joué ?J'ai regardé dans les p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales