Tous les Androids peuvent ne pas avoir un périphérique de sortie PCM dans /dev
, comme l'exige la réponse de Vi0.
Une solution plus générale consiste à configurer Pulse pour diffuser l'audio système vers un port TCP sur votre appareil. Ensuite, vous pouvez utiliser Simple Protocol Player ou PulseDroid dans votre environnement Android pour lire le flux.
Pour éliminer les coupures/délais dans VLC, MPlayer et Audacity, il était nécessaire pour moi de choisir ALSA comme périphérique de sortie et Pulse comme mixeur (dans les options de ces programmes).
Étapes que j'ai utilisées sur mon Amazon Fire 7" 2015 / CM12 / Debian Wheezy chroot:
- Installer pulseaudio dans le chroot :
sudo apt-get install pulseaudio
.
- Comme suggéré par un commentaire sur le github de meefik, j'ai supprimé la ligne
load-module module-console-kit
du fichier /etc/pulse/default.pa
.
- Exécuter
pactl list | grep 'Name\|Description'
et identifier un module qui surveille l'audio système. J'ai utilisé avec succès 'Dummy Output Monitor' nommé auto_null.monitor
.
-
Écrire un script shell correspondant pashare
comme suit (crédit à AlexAndersan sur SuperUser):
!/bin/sh
case "$1" in
start)
$0 stop
pulseaudio --start
pactl load-module module-simple-protocol-tcp rate=44100 format=s16le channels=2 source=auto_null.monitor record=true port=8000
;;
stop)
killall pulseaudio
pactl unload-module pactl list | grep tcp -B1 | grep M | sed 's/[^0-9]//g'
;;
*)
echo "Usage: $0 start|stop" >&2
;;
esac
Assurez-vous que les arguments rate
et port
correspondent à vos paramètres dans Simple Protocol Player (du côté Android). PulseDroid demande rate=48000
, ce qui signifie un débit plus élevé, et pourrait éventuellement introduire des coupures/délais.
J'ai ajouté les lignes pulseaudio --start
et killall
car pulse ne se lançait pas automatiquement dans mon chroot.
-
Rendre le script exécutable et l'exécuter :
chmod 755 pashare
sudo mv pashare /usr/local/bin/
pashare start
-
Configurer vos lecteurs multimédias chroot pour une sortie vers ALSA, avec mixeur Pulse. J'ai dû le configurer manuellement, pour éliminer l'audio haché :
-
VLC : Dans Outils->Préférences->Audio, définissez Module de sortie : sortie audio ALSA
, et Périphérique : Lecture/enregistrement via le serveur audio PulseAudio
.
-
GNOME MPlayer : Dans Édition->Préférences->Lecteur, définissez Sortie audio : ALSA
.
-
Sur Android, lancez Simple Protocol Player ou PulseDroid sur l'adresse IP 127.0.0.1
(bouclage) et configurez l'autre(s) option(s) pour correspondre à votre script pashare
.
Remarquez qu'Android traite l'application comme un lecteur de musique, et la tuera si une autre application tente de jouer de la musique, ou si elle décide de libérer le CPU. Il y a probablement des solutions de contournement pour cela.