2 votes

Obtenir le temps de lecture des médias en utilisant ADB

Je travaille avec un script C# pour contrôler les médias des appareils Android. J'ai été capable de vérifier et régler le volume ainsi que d'envoyer des commandes de pause, de lecture, de saut, etc. pour les applications multimédias comme Spotify ou YouTube.

Une chose que je n'ai pas réussi à comprendre, c'est comment obtenir l'heure actuelle du média. Par exemple, si Spotify diffuse une chanson de deux minutes, et qu'elle est actuellement à 1:16, j'aimerais obtenir cette information. Jusqu'à présent, je n'ai pas été en mesure de trouver de la documentation sur la façon de le faire.

Y a-t-il un moyen d'obtenir l'heure actuelle du média en cours de lecture ? En outre, existe-t-il un moyen d'obtenir la durée totale du média ?

Merci.

3voto

Firelord Points 23064

Passez cette commande :

adb shell dumpsys media_session | grep "state=PlaybackState"      # assuming that only one media player or alike app is playing audio, such as Spotify.

Sortie démo :

state=PlaybackState {state=2, **position=44912**, buffered position=0, speed=0.0, updated=14800717, actions=142132, custom actions=\[\], active item id=-1, error=null}

La mise en évidence position indique la position du média en cours de lecture en millisecondes.

Questions :

1) Le position ne reflète pas la position des médias en temps réel, et il est mis à jour dans ces conditions (sur la base de mon observation) uniquement :

  • lorsque le média est lu à partir de l'état frais ou de l'état de pause
  • lorsque le média est en pause
  • lorsque la position du média est modifiée manuellement par l'utilisateur (par exemple, en faisant glisser le curseur de position).

2) Il n'y a pas de position médiatique maximale disponible, donc c'est tout ce que vous obtenez.


Vous pouvez essayer de mettre brièvement en pause, puis de lire le média en utilisant la commande adb pour mettre à jour le fichier position pour refléter cela dans le script. Ce serait perturbant, mais ça marcherait.

Conseil : vous pouvez obtenir des méta-informations, principalement le description du support de lecture à partir de la sortie de adb shell dumpsys media_session aussi.

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