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

Qt Discussion :

taglib et qt => save rend illisble les mp3


Sujet :

Qt

  1. #1
    Débutant Avatar de Rniamo
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 508
    Points : 162
    Points
    162
    Par défaut taglib et qt => save rend illisble les mp3
    bonjour,

    j'essaye de rendre modifiable les tags id3 via taglib et une interface qt.

    ja fais ça :

    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
    void WTagEdit::on_save_clicked() {
    	TagLib::FileRef track(QFile::encodeName(filename));
    	TagLib::Tag *tag=track.tag();
    	if (!track.isNull() && tag!=NULL) {
    	    tag->setAlbum(table->item(WTagEdit::ALBUM,0)->text().toStdString());
    	    tag->setTitle(table->item(WTagEdit::TITLE,0)->text().toStdString());
    	    tag->setArtist(table->item(WTagEdit::ARTIST,0)->text().toStdString());
    	    tag->setGenre(table->item(WTagEdit::GENRE,0)->text().toStdString());
    	    tag->setComment(table->item(WTagEdit::COMMENT,0)->text().toStdString());
     
    	    bool ok;
    	    int v;
    	    v=table->item(WTagEdit::TRACK,0)->text().toInt(&ok);
    	    if (ok) tag->setTrack((TagLib::uint)v);
    	    v=table->item(WTagEdit::YEAR,0)->text().toInt(&ok);
    	    if (ok) tag->setYear((TagLib::uint)v);
     
    	    if (!track.save()) QMessageBox::information(this,tr("Tags can't be saved"),tr("Tag cannot be saved.\nMaybe this track is played."));
    	    else QMessageBox::information(this,tr("Tags saved"),tr("Tag saved."));
    	} else {
    	    QMessageBox::information(this,tr("Tags can't be read"),tr("Tag cannot be read.\nMaybe this track is played."));
    	    return;
    	}
    }
    j'ai "tags saved" mais le mp3 est alors illisible avec phonon alors qu'il l'était avant.

    Si vous avez une idée ...

  2. #2
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    Je ne connais pas taglib, mais à voir la doc, je te recommanderais d'utiliser QStringToTString pour conserver les éventuels caractères unicode. C'est pas dit que ce soit ça le problème, mais ça peut pas faire de mal.

    Ensuite, est-ce que le fichier est lisible dans un autre lecteur après modification ? Est-ce qu'un message est affiché par Qt dans la console ? (sous-entendu que tu l'ais activé avec CONFIG += console dans ton .pro)

  3. #3
    Débutant Avatar de Rniamo
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 508
    Points : 162
    Points
    162
    Par défaut
    - QStringToTString ne sert à rien dans mon cas (il fait pas grand chose de plus)
    - l'erreur 800xxxx est dans tous les lecteurs après modification
    - rien dans la console ... mais l'option est pas activée, je regarde et je mets à jour de post

    edit : sous linux ça marche, je n'ai eu qu'un fois cette avertissement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TagLib: ID3v2.4 no longer supports the frame type TDAT.  It will be discarded from the tag.
    edit 2 : je ne vois pas le problème sous windows . mon code est là : http://rniamo.is-a-geek.com/svn/RPlayer/trunk/

    edit 3 : je viens de voir que j'utilise le portage windows de taglib qui date un peu (2005 :s) ... mais je n'arrive pas à compiler avec la version 2008 . J'utilise qt creator + le compilateur VS9

    edit 4 : j'ai essayé avec taglib pour msvc mais pas mieux

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/08/2012, 21h20
  2. empecher le navigateur de mettre en cache les mp3 écouté
    Par slindy dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 06/11/2009, 10h57
  3. Boucle while ou for utilisée avec lame pour les mp3
    Par figarojuju dans le forum Linux
    Réponses: 6
    Dernier message: 09/09/2008, 20h51
  4. Querystring rend-il les champs obligaoire?
    Par christi dans le forum ASP.NET
    Réponses: 12
    Dernier message: 21/02/2007, 09h21
  5. Comment enchaîner les mp3 comme un logiciel de DJ ?
    Par kyoden dans le forum Intégration
    Réponses: 8
    Dernier message: 16/01/2007, 16h54

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