10 votes

Comment faire en sorte qu'Android diffuse de la musique de manière fiable, sans coupure ?

Lorsque j'essaie de lire de la musique sous Android 2.3 (en utilisant divers lecteurs, dont PowerAmp) sur le Sony Ericsson Xperia X10, je n'obtiens pas un son fiable. La musique se met en pause pendant un court instant, par exemple, lorsque :

  • J'appuie sur le bouton d'alimentation (surtout à plusieurs reprises) ( request_suspend_state: sleep;request_suspend_state: wakeup dans dmesg)
  • Quand je vois des messages comme send sigkill to 15497 (ndroid.settings), adj 8, size 6428 dans dmesg
  • Quand un programme réagit à un changement d'orientation de l'écran.
  • Lorsque la connexion wifi est établie, lorsque je la force à se "réassocier".
  • Lorsque je vais vers/depuis une application depuis l'écran d'accueil (AWDLauncher), sauf vers/depuis l'écran WidgetLocker.
  • Quand j'active/désactive le mode avion.
  • Lorsque l'écran est éteint (le plus ennuyeux)

Lorsque la seule façon vraiment stable d'écouter de la musique est d'utiliser StayAwake pour forcer l'affichage, désactiver le Wi-Fi, activer le mode avion et ne pas changer d'application. Lancer des applications gourmandes en ressources CPU comme while true; do true; done n'affecte pas le hachage.

Et ça marchait plus ou moins bien sous Android 2.1.

Le processus "mediaserv" (qui écrit sur /dev/msm_pcm_out) a la priorité d'entrée et de programmation en temps réel, mais le son est quand même haché. Si je commence à jouer depuis la console avec mplayer -ao pcm:file=/dev/msm_pcm_out le son chop moins (notamment il n'est pas interrompu par le bouton d'alimentation / le chargement de tas de processus lourds), mais ne se comporte toujours pas normalement lorsque l'écran est éteint (même ionice -c1 -p4 cat /dev/urandom > /dev/msm_pcm_out est hachée)

Lorsque je lance la musique A de la manière habituelle et la musique B en utilisant mplayer sur /dev/msm_pcm_out (en les mélangeant), la musique A est plus hachée que d'habitude et j'entends généralement B lorsque A est hachée. Lorsque j'éteins l'écran, A et B sont synchronisés (arrêter B permet une lecture relativement plus fluide de A de cette façon).

Comment lire de la musique sur Android de manière fiable en présence d'une charge de fond ? Dois-je signaler un bug quelque part ?

Mise à jour J'ai trouvé un moyen de jouer de la musique. C'est gênant, mais sans hacher :

  1. Démarrer WakeLock en mode "CPU on, Screen Off, Keyboard off" (CPU activé, écran éteint, clavier éteint)
  2. Utilisez mplayer pour lire de la musique en contournant Android :

    ionice -c1 -n4 \ schedtool -R -p 3 -e \ mplayer -really-quiet \ -af volume=-26 -quiet \ -ao pcm:file=/dev/msm_pcm_out,nowaveheader \ /mnt/sdcard/music/something.ogg

    (created script to start it easily, of course)

Joue sans hachage quel que soit le nombre d'applications que je lance, ce que font les modes Wifi, orientation et avion. Même avec "powersave" cpufreq gouverneur (tout très lent, mais la musique joue bien). Donc le matériel a assez de ressources pour le jouer.

Mise à jour 2 On dirait qu'on fait

for i in `pgrep ''`; do schedtool -D $i; done

Par exemple, "Définir la priorité d'inactivité pour tous les processus" permet de lire de la musique sans problème même lorsque je {démarre des programmes, verrouille l'écran, fait pivoter l'écran ; il se reconnecte à d'autres stations de réseau mobile} au prix d'un certain décalage de saisie dans les jeux. Je ne sais pas exactement pourquoi cela se produit.

1voto

Essayez de désactiver les applications ou le matériel qui utilisent beaucoup de ressources du téléphone. Désactivez le GPS, le WIFI, le service réseau et réduisez le rétroéclairage. Fermez également toutes les applications en cours d'exécution autres que celles dont vous avez besoin pour écouter de la musique. Si cela ne fonctionne toujours pas, votre appareil n'a peut-être pas assez de mémoire.

1voto

Galaxy Z Flip 3 Points 12200

Augmentez votre Audio Buffer taille.

J'utilise PlayerPro Music Player avec son pack DSP. Le DSP pack me permet d'ajuster la taille du buffer audio. Je n'ai jamais eu besoin d'utiliser cette fonction, mais elle vous sera utile.

Vous pouvez également trouver d'autres lecteurs de musique qui prennent en charge cette fonction. La clé est Audio Buffer .

Vous pouvez également réduire la qualité de la musique ainsi que la charge du système.

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