Reconnaissance tag, recuperer pochette album

Signaler
Messages postés
37
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 mars 2010
-
Messages postés
37
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 mars 2010
-
Bonjour

J'ai réalisé un petit encodeur Lame avec reconnaissance des tag (il se connecte à CDDB) à l'aide de ce site

Comment est il possible de récuperer la pochette de l'album et si non, comment fait wmp pour le faire ? Je n'ai rien trouvé en vb

Merci d'avance

18 réponses

Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
38
Salut,

Le CDDB pour Jacquette n'existe pas encore... (du moins pas à ma connaissance) ou si il existe il n'est pas standardisé (voir du coté de chez ms, média player consulte une DB avec image apparement). Pour récupérer une image d'album, il faut aller sur un site spécialisé (genre allcovercd.com), envoyer une requête de recherche au serveur, télécharger la page, analyser son contenu qui contient les miniatures et les liens vers les pochettes à téléchargé. Le gros souci c'est que si le site subi des mises à jour le contenu de la page change, et donc l'analyse risque de ne plus fonctionner.

J'ai fais ce genre de soft pour un ami(et d'ailleur il fonctionne toujours..?), tu peux t'en inspirer si tu le souhaite, c'est ici.

J'avais prévu à l'époque de le couplé avec un moteur CDDB et de créer plus de moteurs de recherche mais j'ai malheureusement manqué de temps et j'en manque toujours...

Bon courage !

++ Mayzz.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
37
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 mars 2010
1
Salut Mayzz

Merci pour ta réponse.
Je vais tester ton pgm, ca semble déjà énorme à vue d'œil mais est-ce bien du VB que je pourrais intégrer aisément....

réponse dans qq minutes
Messages postés
37
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 mars 2010
1
C'est bien ce que je pensais...ce n'est pas du VB
je ne peux pas le lancer , je ne pourrais pas donc pas l'intégrer...

dommage...

Merci encore.
Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
38
Oup's !

En effet, c'est bien du vb mais du vb.Net et non du vb6 (vb2008/.Net3), tu ne peux donc ouvrir ma source qu'avec Visual Basic 2008 Express (en téléchargement gratuit).

Mais ce n'est pas grave, rien ne t'empêche de suivre l'idée, en vb6, avec le contrôle Inet, on peut aisément télécharger le contenu d'une page web, et l'analyser avec un peu de connaissance en html.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
37
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 mars 2010
1
Ok

alors , j'ai bel et bien des connaissances en html (puisque je réalise des sites web en php/html) mais je suis autodidacte et je sais surtout faire marcher des kits graphiques tout prêt

donc je sais générer une page html avec un code Vb mais je ne sais pas récupérer le contenu de la page html (contenu ecrit et visuel)

enfin, si tenter que j'arrive à le faire (je suis plutot obstiné et curieux), la dite pochette sera t elle "sauvegardable" sur le disque dur et si oui comment? (à part passer par un client/serveur)

bref, je pensais trouver un code "tout fait" à adapter à mon usage.

Je suis ouvert à tout conseil.
Messages postés
37
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 mars 2010
1
ah oui mais ce n'est peut être pas légale de télécharger l'image

à moins d'avoir l'original... (et qu'on veut pas de casser la tête à la scanner )
Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
38
En ce qui concerne la partie software :

Rappel :

Lors d'une requête GET vers un serveur Web, celui-ci retourne une du contenu via le protocole http, ce contenu, est envoyé sous forme de bytes au programme client, ces bytes constituent un fichier, et ce fichier est exploitable par Windows selon l'extension que tu lui donne (.htm, .jpg, .png, etc...), ou bien par ton logiciel.
Ce qui m'amène a dire que :

- Téléchargement d'une page web: cette page arrive sous forme de source sur ton ordi (dans une variable d'abord, puis dans un fichier si tu l'y enregistre, Ex: pagetmp.htm), une fois que tu as la source, tu peux repérer les liens vers la miniature de l'image, et vers l'image de taille réelle en analysant le fichier source :

Télécharger l'image


Dans l'exemple ci-dessus, tu peux voir que le lien de téléchargement de l'image sur cette page, se trouve en fait, toujours dans une div, nommée divImage. A partir des fonctions de traitement de texte de vb (instr, left$, right$, mid$, etc...) tu peux donc décortiquer ces informations et en extraire tout ce qui se trouve entre '
' et '
', tu obtiendras alors le lien de téléchargement de l'image avec la balise , en suivant le même procédé, tu peux aussi supprimer, la balise '<a ...' pour ne garder que l'information qui t'intéresse, c'est à dire le lien.

Tu peux procéder de la même façon pour récupérer sur la page, le lien vers la miniature en cherchant la balise <img ..., qui correspond pour récupérer l'url de l'image miniature sur le serveur et la télécharger pour afficher un aperçu rapide aux utilisateurs de ton logiciel.

- Téléchargement de l'image : Même procédé, le téléchargement de l'image te retournera le contenu binaire dans une variable de celle-ci, tu peux donc, l'enregistrer sur un disque dur vers un fichier temporaire, puis le charger dans un picturebox sans soucis, ou copier le fichier téléchargé vers un emplacement défini par l'utilisateur (via un commondialog) sur le disque si il se trouve être l'image en taille réelle.

Pour ce qui est de la méthode à employer pour téléchargement de contenu, plusieurs solutions possible, en vb6, via le composant Inet, via Winsock (nécessite d'envoyer manuellement le protocole http, et reçois la page avec l'entête http), ou encore via les API Windows, pour plus d'infos, recherche sur ce site 'Télécharger html' dans les sources vb6.

En ce qui concerne la législation :

Les site de téléchargement de pochettes existent, mais en effet, tout contenu non rendu libre de droit par sont auteur, nécessite une licence ou l'achat de celui-ci. Donc si tu pense qu'il est inutile de télécharger les images par soucis de droits d'auteurs, tu peux donc dire, qu' il en va de même pour ton encodeur, car il faudra posséder l'original du CD pour l'encoder... Mais ça c'est à toi de voir...

De mon coté, j'ai déposé cette source pour permettre à ses utilisateurs d'en comprendre le fonctionnement, d'autres l'on surement téléchargé et compilé afin de s'en servir en tant que programme, et si j'ai pu aider des personnes à télécharger des pochettes sur un site en leur rendant la navigation plus facile, alors je suis content, mais en aucun cas responsable de ce que ces utilisateur auront télécharger avec, donc même procéder que le P2P, développeur, mais pas pénalement coupable de l'utilisation faite par le public...

++ Mayzz.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
37
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 mars 2010
1
Merci Mayzz

Je m'y attèle dès cette aprem', là, faut que je termine mon assistant.

Je vous tiens au courant.
Messages postés
37
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 mars 2010
1
J'ai trouvé la partie "Téléchargement" via un code source de ce site

ici

il me reste la partie "récupérer page html" mais c'est cool déjà...
Messages postés
37
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 mars 2010
1
Ok c'est bon j'ai trouvé mon bonheur

Y'a puka
Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
38
Il ne me reste plus qu'à te souhaiter bon courrage, si tu butes sur un truc n'hésite pas, c'est plaisant de voir des gens qui ne reculent pas devant la difficulté.

++ Mayzz

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
37
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 mars 2010
1
pour tout dire

je n'ai pas vraiment résolu mon problème car je ne peux pas récupérer AUTOMATIQUEMENT la pochette mais j'ai contourné le problème donc on va dire que ca me convient...

A+
Alex
Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
38
Contourné ?

Je serais curieux de savoir comment ?

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
37
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 mars 2010
1
Ce que j'entends par "contourner" :

J'ai trouvé un code source sur ce site qui permet de télécharger à partir d'une adresse URL une image...

Aussi sur ma page d'encodage du CD, j'ai mis un champ TextBox où j'indique l'URL en question.

Je détermine le répertoire de destination et il me copie cette image à cet emplacement.

C'est moins lourd que de devoir faire soi-même "Enregistrer sous"

L'idéal serait que je saisisse l'interprète et l'album et il se connecte sur un site dédié pour récupérer l'URL ensuite et la gérer
mais une question de droit se pose... à moins d'indiquer soi-même l'adresse du site en question...pourquoi pas

qu'en penses tu?
Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
38
Qu'appeles-tu 'Question de droits' ? Droits de l'auteur sur la pochette ou droits de mettre ton lien dans ton soft (propriété du site Internet).

Comme je te l'ai dit plus haut le téléchargement est légale, ce qui ne l'est pas en revanche c'est l'acquisition de données protégés par des droits d'auteur. Donc si tu possede le CD original, tu as autant le droit de faire une copie du CD que de la pochette, le tout est de posséder l'original.

Pour ton soft, si tu récupère un lien, pointant vers un site, tu peux mette un hyperlink (n'existe pas en natif vb6, regarde les sources pour trouver un contrôle perso), puis un simple ShellExecute vers le lien http.

Sinon, je t'ai donné la solution plus haut mais c'est plus complexe, à toi de voir, en tous cas, pas de problème de droits ici.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
37
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 mars 2010
1
Oui ta solution est trop complexe pour moi mais je ne désespère pas d'avoir le temps de m'en préoccuper

Je parle en effet de mettre un lien direct vers un site dont je n'ai pas l'autorisation du créateur.

genre allcovertruc... je préfère m'abstenir de cette solution et récupérer l'URL via une petite recherche manuelle.
Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
38
Que tu mette un lien vers l'URL (Qui lance le navigateur du client lors d'un click) ou que tu affiche l'URL dans un Textbox et que le client la copie/collé dans son navigateur revient au même (au niveau doit), c'est juste plus pratique.

En ce qui concerne l'autorisation du site web, le créateur met à disposition des images et des ressources sur son site Internet via un serveur Web. A partir de là, rien ne dis que le client Web qui va télécharger ces ressources doit automatiquement s'appeler IE, FireFox, Opéra ou Chrome... Les ressources sont partagé et accessibles, dans ce cas si tu as les droits d'y accéder via IE alors tu as également le droit d'y accéder via n'importe quel soft, même un soft de ta création et d'afficher ces données comme bon te semble, je ne suis pas juriste mais ce n'est que pure logique !

Pour ce qui est du lien : Regarde comment fonctionne le moteur de recherche du site, si les développeurs se sont servis des requêtes http, alors fais une recherche sur le site avec des critères, valide et observe l'url dans ton navigateur.

Prenons par exemple le site allcoverscd.com, je fais une recherche avec l'artiste Madonna, avec comme critère All Covers, je valide et j'obtient l'URL suivante :

- http://www.allcdcovers.com/search/all/all/madonna/1

En analysant cette URL tu peux donc en déduire que, avec l'artiste rihanna l'url sera la suivante :

- http://www.allcdcovers.com/search/all/all/rihanna/1

Ce pendant attention, car les requêtes transmises au serveur ne prennent pas en charge les accents, espaces et autres caractères spéciaux, ce qui nécessite une conversion, Exemple pour l'artiste Chritophe maé :

- http://www.allcdcovers.com/search/all/all/Christope%20ma%C3%A9/1

%20 représente le caractère 'Espace'

%C3%A9 représente le caractère 'é'

Cette conversion tu peux surement la trouver dans les sources ou en posant la question dans le forum, voir même dans ma source, j'avoue que je ne sais pu trop comment avoir géré la chose à l'époque ^^ mais il me semble que c'est du natif .Net donc non applicable en vb6 (à vérifier quand même).

C'est quand même plus sympa d'avoir un lien vers le site avec la recherche effectué pour l'artiste, qu'un lien banale pointant toujours vers la même perpétuelle page d'accueil du dit site, pas franchement utile...

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
37
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 mars 2010
1
très pertinent

ça vaut le coup de se creuser en effet...