2010-08-31 3 views
1

J'ai une application de lecteur de musique sur le marché et mes utilisateurs commencent à signaler des problèmes avec de la musique apparaissant comme "artiste inconnu" et "titre inconnu" après la mise à jour de Froyo. J'ai remarqué le même comportement sur mon Motorola Droid 2 en cours d'exécution Froyo. En faisant du googling, je trouve d'autres utilisateurs (et même Last.fm a confirmé le problème) que "Android" ne lit/ne stocke pas les tags correctement. Je ne trouve aucun commentaire technique/développeur sur ce problème.Impossible de lire les tags ID3 après la mise à jour de Froyo?

est ici le code qui a travaillé pendant 6 mois avant Froyo:

String whereclause = MediaStore.Audio.Media.DATA + " = \"" + path 
     + "\""; 
curSong = CR.query(MediaStore.Audio.Media 
     .getContentUri("external"), new String[] { 
     MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.ALBUM, 
     MediaStore.Audio.Media.ARTIST }, whereclause, null, null); 
if (curSong != null) { 
    curSong.moveToFirst(); 
    title = curSong.getString(0); 
    album = curSong.getString(1); 
    artist = curSong.getString(2); 
} 

Une fois la requête, curSong est non nulle, de sorte que le « si » bloc continue, mais je reçois CursorIndexOutOfBounds en essayant de lisez curSong.getString(0). Existe-t-il une nouvelle façon pour Froyo de stocker les tags dans MediaStore? Après un certain débogage, je trouve que les balises ID3 sont très bien et toujours au même endroit. Le problème est avec ma wececlause. Je regarde la chanson par son chemin, qui était précédemment stocké dans MediaStore.Audi.Media.DATA, mais n'est apparemment plus là, donc j'obtiens en fait un ensemble vide de cette requête. Maintenant, je dois trouver où ce chemin est stocké.

+0

Merci de l'avoir posté. Je développe une application de lecteur de musique et cette information était très utile. Je voterais, mais je viens de commencer ce compte et n'ai pas de points. LOL. :/GG sur le code. –

Répondre

0

J'ai trouvé le problème. Le chemin est toujours stocké dans MediaStore.Audio.Media.DATA, cependant, il semble que Froyo a ajouté "/ mnt" devant "/ sdcard". Quand j'ai ajouté "/ mnt" au chemin dans le whereclause, il était capable de trouver la chanson et tout va bien. J'espère que cela aidera quelqu'un d'autre à l'avenir.

Questions connexes