2 votes

Jouez des chansons de façon aléatoire et sans fin

J'ai créé un profil dans Tasker (il s'exécute au démarrage) pour ma boîte Android (enracinée). Les tâches sont :

  1. écran toujours allumé
  2. jouer de manière aléatoire toutes les chansons d'un dossier dédié.

Cela fonctionne. Mais j'ai besoin de lire sans fin les chansons du dossier lorsque Tasker termine la lecture de la dernière chanson.

Ce que je cherche, c'est à boucler l'action "lire les chansons du dossier" lorsqu'elle est terminée mais je ne sais pas comment faire.

J'ai essayé un "Goto" mais Tasker exécute la tâche même si la lecture est en cours. Mon boîtier Android commence à ralentir très vite car je pense que Tasker répète la tâche à l'infini et joue la première chanson à plusieurs reprises en même temps.

Voici à quoi cela ressemble pour le moment (très simple) :

Profil : "Au démarrage" -> Tâche " Musique "

"Musique" :

  1. Action de l'événement : "Restez éveillé"

  2. Action média : lecture de médias à partir d'un dossier / aléatoire

    seulement testé :

  3. Action de la tâche : Aller à "2"

Comment puis-je atteindre l'objectif ?

0 votes

Même après une modification, je ne pense toujours pas que le titre soit sans ambiguïté ou qu'il n'ait qu'un seul sens. Peut-être que d'autres peuvent le rendre beaucoup plus clair.

1voto

Firelord Points 23064

Il semble que l'action Media → Music Play Dir ne puisse pas lire les fichiers pendant des durées infinies. J'ai essayé avec plusieurs valeurs de Maximum Tracks (avec(sans) Random activé) et je suis arrivé à la conclusion que le nombre maximum de fois que Tasker lirait un média ne serait pas plus que le nombre de fichiers jouables dans le répertoire de travail.

Assez parlé d'échec. Venons-en aux affaires. Je suis venu avec cette approche simple :

Nous allons dresser la liste de tous les fichiers de votre répertoire de travail (le même répertoire où se trouvent vos fichiers multimédias) et la stocker dans une variable. Nous allons sélectionner aléatoirement un fichier à partir de la sortie précédente, obtenir la durée du fichier, le lire, demander à Tasker d'attendre pendant cette durée, puis revenir en boucle à l'endroit où la sélection aléatoire d'un fichier multimédia a lieu.

Actions

  1. Fichiers → Liste des fichiers :

    • Dir : répertoire de travail où sont conservés les fichiers multimédias
    • Match : *.mp3/*.wma/*.3gp
    • Variable : %tracks

    Cette étape liste tous les fichiers avec Extension MP3, WMA et 3GP disponible dans le répertoire de travail, crée un tableau %tracks et remplir le nom du chemin d'accès de chaque fichier comme une valeur dans ce tableau.

    J'ai appris cette étape de 本論文 d'OncleMike.

  2. Variables → Ensemble de variables :

    • Nom : %max_tracks
    • A : %tracks(#)

    Nous créons une variable nommée %max_tracks et en attribuant le la taille de %tracks 勢揃い comme sa valeur. Cette variable ne sera utilisée que dans l'étape suivante.

  3. Variables → Variable Randomize :

    • Nom : %rand
    • Min : 1
    • Max : %max_tracks

    Cette étape sélectionne aléatoirement une valeur dans l'intervalle 1- %max_tracks et attribue la valeur choisie au hasard à %rand .

  4. Médias → Médias de test :

    • Type : Étiquette de durée du fichier musical
    • Données : %tracks(%rand)
    • Le résultat du magasin : %duration

    Cette étape permet de déterminer la durée de la période choisie au hasard ( %tracks(%rand) ) et affecte la durée en tant que valeur à l'option %duration .

  5. Variables → Fractionnement des variables

    • Nom : %duration
    • Séparateur : :

    Je suppose ici que tous vos fichiers multimédia ont une durée inférieure à 59 minutes 59 secondes. La durée reçue dans la dernière action est au format MINUTES:SECONDS. Dans cette action, nous divisons la variable %duration à l'adresse : . Cela permettrait de stocker les MINUTES dans %duration1 et SECONDE dans %duration2 .

  6. Média → Lecture de la musique :

    • Dossier : %tracks(%rand)
    • Stream : Media

    Cette étape permet de lire le fichier multimédia choisi au hasard.

  7. Tâche → Attendre :

    • Secondes : %duration2
    • Procès-verbal : %duration1

    Cette étape fait attendre le Tasker pendant une durée équivalente à celle du jeu choisi au hasard.

  8. Tâche → Goto

    • Type : Numéro d'action
    • Nombre : 3

    Cette étape répète le cycle de l'action 3 dans le but de lire un autre fichier multimédia choisi au hasard.

Note : L'action Variable Randomize de Tasker pourrait vous gêner si les fichiers sont très courts en nombre. C'est un problème que je ne peux pas résoudre.

0 votes

@moderator : S'il vous plaît, ne supprimez pas à nouveau ce commentaire car il ne s'agit pas seulement d'un message de "merci". Merci beaucoup, je suis très impressionné par votre travail et je suis sûr que je ne pourrais pas trouver toutes ces tâches tout seul ! Dans mon dossier, il y a 45 chansons. Pensez-vous que c'est suffisant pour éviter un bug ?

0 votes

Oh OK, désolé... Erreur de débutant. Pour le moment, je ne trouve pas d'option pour marquer votre réponse comme acceptée.

0 votes

J'étais en mode débutant et je n'ai pas trouvé comment assigner les variables dans la tâche 7 mais c'est bon maintenant :)

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X