[ZOOPER] Réalisez votre propre music player

Par jhowlett468 - Le 15/04/14 - Affichages : 2573
Image

Bonsoir !!!

Sur la base du boulot fait par Magmg31 ( cf ce topic ) et du widget dont je parle dans ce topic et du topic de Franck_29 ICI. Merci à eux :)

Le but de ce topic est de faire un widget music player personnalisé, le principal écueil étant que Zooper n'a pas de variables gérant les lecteurs médias. Je présente ici MON widget mais le but est que vous soyez par la suite capables de faire le vôtre.

Mon widget music player est un widget zooper qui utilise Media Utilities ( MU pour faire court... Non ce n'est pas le chevalier du bélier lol ).


Qu'est-ce que MU ?

Franck_29 a écrit:Si vous souhaitez utiliser les widgets de ces lecteurs, il vous faudra bien souvent leur consacrer une page entière de votre homescreen et admettre les différences de design entre ces widgets souvent bien peu personnalisables, ou tout simplement renoncer à le faire.

Media Utilities de MyColorScreen (ceux qui ont sorti ZOOPER) nous offre une "révolution" en la matière. Il va vous permettre de façonner un widget unique, qui pilotera n'importe lequel de vos player. Si!

Et il va plus loin, puisqu'il vous permettra une personnalisation très aboutie de ce widget (couleurs avec transparence du fond et des textes, thème des boutons "play/pause, next, prévious"), et cela sera satisfaisant dans la plupart des cas.

Mais, ce n'est pas tout. Media utilities vous permettra de construire vous même votre propre widget, via ZOOPER, en dotant ce dernier de variables supplémentaires qui vous permettront de créer de toute pièce un widget de pilotage de votre musique.


Citation du topic de Franck_29, à lire dans son contexte dans son topic précité. En gros, en plus de permettre la création de widget personnalisés, en intégrant ses actions ( avance, retour, lecture... on peut affecter un PNG ou une forme à une action) ainsi que... Des variables, non natives dans Zooper permettant de récupérer ( et d'afficher ) les infos des fichiers audio lus ( jaquette, artiste, titre, temps écoulé et total... ).

2 liens parlant des variables MU intégrables dans Zooper :
  • creating a Zooper Media Widget with Media Utilities ( site de Zooper ) : ICI
  • Media Utilities Variable List : ICI

Capture d'écran des variables :

Image

Cliquez sur l'image pour la voir en plus grand sur Photobucket ;)

Alors... On parlait de quoi à la base déjà ? Aaaaaaaaah oui ! Mon widget music player !!!!!!!! Il ressemble à çà :

Image

Pas de musique - seul le bouton lecture est visible, pas de jaquette visible, pas de temps affiché ( "000" ) et le texte "no track for now" remplace les infos de piste

Image

Musique en cours de lecture - la jaquette de l'album apparait ainsi que le temps écoulé et la durée de la chanson, ses infos et les boutons retour avance et pause

D'où viennent les boutons jusque-là invisibles et les infos de piste ? Je m'en vais vous l'expliquer ;)
Pour plus de lisibilité, je ferai l'impasse sur le codage de la 1ère lettre d'une couleur différente dans les variables.

Alors la jaquette : il s'agit d'un PNG transparent ( dédicace à Isi77 ) de 200*200 à l'échelle 50% ( pour être à la taille que je veux au final ). Comment passe-t'on d'un PNG "vide" à la jaquette ? Grâce à ce code, à rentrer dans les paramètres avancés du PNG vide :

Code: Select All Code
$#TMU_ISPLAYING#=1?[b]#TMU_COVERART#[/b]$


Il permet d'afficher la jaquette de l'album en cours de lecture en allant piocher dans les fichiers que génère MU lors de la lecture de médias. Le "b" entre crochets ne sont pas là comme d'hab pour avoir un texte en gras mais servent à avoir le chemin absolu de l'iamge concerné ( sans, çà marche pas, je me suis énervé dessus hier :mrgreen: ). Un clic sur la jaquette ( ou le PNG vide ) lance Google Music.

Pour les infos de piste, j'ai créé un texte enrichi :

Code: Select All Code
$#TMU_ISPLAYING#=1?#TMU_ALBUM#
#TMU_ARTIST#
#TMU_TRACK#:No track... For now$


Traduction : si de la musique est lue affiche nom de l'album / de l'artiste / de la piste sinon mets "No track... For now"

Les boutons ? Des PNG auxquels j'ai attribué des actions correspondant à ce à quoi ils ressemblent via les raccourcis de MU en sélectionnant "module on tap" : on peut sélectionner lecture, pause, avance ,retour...
Pour les faire disparaitre en cas de non-lecture de musique, rien de plus simple :

Code: Select All Code
$#TMU_ISPLAYING#=0?[bo]0[/bo]$


Si aucune musique n'est lue, règle l'alpha du PNG à 0... Ce qui le rend invisible ( à l'oeil, le PNG n'est techniquement pas désactivé ).

C'est un survol de la création de widget Zooper mais si vous vous embarquez à suivre ce tuto, je gage que vous savez vous en servir ( de Zooper ).

Je me suis aperçu de 3 bugs :
  • si comme moi vous êtes un adepte la fermeture des applis inutilisées ( via les paramètres du tél ou comme moi par long press to kill ), un appui sur la touche lecture ne relancera pas la dernière chanson lue mais lancera le player, à partir duquel vous devrez lancer "manuellement" la lecture.
  • si vous lancez une chanson après l'avoir recherchée via le moteur de recherche de votre player ( Google Music pour moi ) et donc sans naviguer dans le dossier ou l'album concerné, un appui sur avance ou retour vous fera retomber sur celle-ci et non sur la suivante ou la précédente.
  • la jaquette met parfois un peu de temps à s'actualiser à la coupure de la lecture ou lors du kill du player ( lié à MU et/ou à Zooper ou la présence lors de certains de mes essais de bbcode qui perturbe parfois Zooper ? ).

Ah comme suggéré sur les captures d'écran, mon player est lancé via Popup Widget par souci de place sur mon home ;)

L'intérêt de passer pas Zooper au lieu de faire directement un widget via MU ? CUSTOMISATION :D :D :D

Dossier Box de mon player ICI
6 réponse(s) -