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

Java Discussion :

Api Last.fm: track.getPlaycount() retourne toujours -1


Sujet :

Java

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 68
    Points : 53
    Points
    53
    Par défaut Api Last.fm: track.getPlaycount() retourne toujours -1
    j'utilise l'api java binding pour last.fm http://www.lastfm.fr/api pour extraire quelques informations sur querlques chansons.

    je fais une recherche des chansons selon les tags et je veux récupérer le playcount de chaque chanson qui correspond au tag que j'ai rentré, mais le playcount me retourne toujours -1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Collection<Track> tracks=Tag.getTopTracks("Believe", key);
     
        for (Track track : tracks) {
            System.out.println("chanson:"+track.getName());
            System.out.println("playcount: "+track.getPlaycount());
            System.out.println("\n***************************************************");
     
        }
    Merci d'avance

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 980
    Points
    7 980
    Par défaut
    Soit c'est dans l'api, soit dans le binding. Mais d'après un debug rapide avec les source du binding java.

    Mais Un moment donnée pour creer la collection de Musicentry, le code passe ce constructeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    protected MusicEntry(String name, String url) {
    		this(name, url, null, -1, -1, false);
    }
    Et la tu vois des -1 hardcodé...

    Ensuite le code appelera la méthode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    protected static void loadStandardInfo(MusicEntry entry, DomElement element)
    ... qui elle est censé remplir ces statistiques manquantes.

    Elle non plus ne trouve pas les balise avec userplaycount ou playcount.

    Donc en gros, a moins de s'amuser pendant des heures, il vaut peut être mieux posté un "Issue" directement la ou tu as télécharger le binding. (Last fm semble envoyer les informations correctement quand a lui si on verifier avec le webservice).

    Et si ca se trouve le code n'est plus maintenu et l'api last a changé un peu.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 980
    Points
    7 980
    Par défaut
    Et en fouillant encore on peut voir que le XML que le binding recoit ne contient que les durée et le nom (plus quelques autres trucs) mais pas le playcount.

    Faut peut être tenter de recuperer les tracks (individuellement a partir de leurs id ou autres) d'une autre manière et trouver dans le binding ce qui fait le lien avec www.lastfm.fr/api/show/track.getInfo
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 68
    Points : 53
    Points
    53
    Par défaut
    vous aviez raison et voici la solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       for (Track track : tracks) {
            Track chanson=track.getInfo(track.getArtist(), track.getName(),key);
            System.out.println("chanson:"+chanson.getName());
            System.out.println("Playcount:"+chanson.getPlaycount());
            System.out.println("\n***************************************************");
     
        }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT]fonction contains retourne toujours false
    Par wildmary dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 01/08/2007, 11h22
  2. 1 site, 2urls, on retourne toujours la même url
    Par c4cf6 dans le forum Apache
    Réponses: 1
    Dernier message: 29/06/2007, 17h02
  3. fonction retournant toujours 0.000 ?
    Par _SamSoft_ dans le forum C
    Réponses: 49
    Dernier message: 22/02/2007, 20h52
  4. [sockets] gethostbyname retourne toujours la même chose
    Par Strab dans le forum Développement
    Réponses: 3
    Dernier message: 15/09/2006, 10h24
  5. Réponses: 2
    Dernier message: 30/03/2006, 16h18

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