Comment jouer au son de Termux lors de l'utilisation de Linux? -- audio domaine et linux domaine et termux domaine et vnc domain android en relation problème

How to Play Sound from Termux when using Linux?



2
vote

problème

français

J'ai un problème avec le streaming audio que je ne puisse pas écouter de l'audio à partir de Pulleudio lors de l'utilisation de VNC avec un environnement de bureau Linux.

Cependant, cela fonctionne si j'exporte l'audio vers XSDL. Mais le problème est qu'après que je quitte l'application, le son ne fonctionne pas à l'arrière-plan.

Je sais que PulseAudio prend uniquement en charge les serveurs Xorg, alors comment diffuser audio à VNC ou à toute autre application sur Android et à l'exécuter à l'arrière-plan.

Je sais qu'il existe une application Simple Protocol Player < / a> qui écoute le son de Pulleudio de Xorg Server, mais cela ne fonctionne pas pour moi et je ne connais pas la raison.

langue Anglaise

I have a problem with audio streaming that I can not listen audio from Pulseaudio when using VNC with a Linux Desktop Environment.

However it works if I export the audio to XSDL. But the problem is that after I exit the application the sound does not work in the background.

I know that Pulseaudio only supports Xorg servers, so how to stream audio to VNC or any other application on Android and to run it in the background.

I know that there is an application Simple Protocol Player that listens to pulseaudio sound from Xorg Server, but it does not work for me and I do not know the reason.

           

Liste de réponses

2
 
vote
vote
Meilleure réponse
 

Il y a deux possibilités que je connaisse, de jouer au son d'un environnement Linux sur l'appareil Android:

  • Jouez à travers les bibliothèques d'ALSA autochtones
  • flux via pulseaudio
    • Transférer sur X Server (sur une prise UNIX ou TCP)
    • flux sur IP (TCP ou UDP) par exemple. Lorsque vous utilisez VNC

La première méthode fonctionne de manière native via le module / pilotes de noyau ALSA tandis que les deuxième et troisième travaux via PulseAudio bibliothèques, c'est-à-dire différent Modules et protocoles ( 9988777661 doit être installé sur Termux / Linux Distro).

La plupart des OEM d'Android basent leur architecture sonore sur alsa, bien que Pas nécessaire :

"Vous pouvez utiliser l'architecture sonore Sound Advanced Linux (ALSA), Open Sound System (OSS) ou un pilote personnalisé"

Dans le cas d'Alsa Kernel répertorie les périphériques dans /dev/snd/ qui peut être manipulé pour diriger le son vers la carte son. Le tutoriel complet peut être trouvé ici . Cela fonctionne, mais pas pour tous les formats sonores. C'est parce que les pilotes alsa chargés sur des appareils Android ne peuvent pas être contrôlés (au moins je ne pouvais pas) via des outils Standard LinuxSpace d'espace d'espace de manière simple, car ils ne sont pas compatibles (voir Modifications / ajouts dans le noyau Linux par Google / Oems, la fermeture de Google / Oems. Source Hals propriétaires dans les utilisateursPace et différences de alsa vs. tinyalsa ) . Aussi accès à /proc/asound/ n'est pas possible sans root, voir les détails dans Cette réponse . Alsa projet est ici .

Il existe également des solutions plus personnalisées qui fonctionnent avec ALSA et PULSAUDIO, tels que Daemon de lecteur de musique . < / p>

lorsque vous utilisez X Server:
XSDL Server est la seule application Android Android X bien développée que je connaisse, plus malheureusement. Il a un serveur PULSAUDIO intégré avec module-cli-protocol-tcp déjà chargé, écoutant sur le port standard 4712 par défaut. Une fois que la session X a été démarrée sur Linux, nous pouvons diriger le son des bibliothèques client Linux PulssadioDio sur XDSL Pulsidio Server en définissant la variable d'environnement suivante sur Linux:

$ export PULSE_SERVER=tcp:127.0.0.1:4712

* 127.0.0.1 indique que Linux et XDSL fonctionnent sur le même périphérique

ou pour définir définitivement, éditer le fichier:

# /etc/pulse/client.conf or ~/.config/pulse/client.conf default-server = tcp:127.0.0.1:4712

Maintenant tout lecteur multimédia exécuté dans cet environnement utilisant des bibliothèques de clients PULSAUDIO, diffusera son application audio à XDSL. Vous pouvez transférer l'affichage de la session X et le son sur X fonctionnant également sur un PC, mais qui nécessite une configuration plus compliquée.

lorsque vous utilisez VNC:
Le protocole VNC par défaut ne prend pas en charge le son. Cependant, Pulsiduio Server peut diffuser TCP / UDP à l'aide de différents protocoles. Il y a des applications disponibles pour Android pouvant jouer simple protocol (par exemple joueur de protocole simple ) et pulseaudio0 (par exemple vlc ). Pour cela, nous devons charger le module PULLEUDIO associé.
Pour configurer le démon Pullethaio local, tout d'abord commentant les lignes suivantes:

pulseaudio1

sinon démon va faimera l Pour commencer si pulseaudio2 existe mais 99887776613 n'est pas installé (qui est obsolète, remplacé par pulseaudio4 et plus présent sur de nombreux repos de Linux ).

Assurez-vous que 99887776615 est défini sur pulseaudio6 de sorte que nous n'avons pas besoin de démarrer démon manuellement et qu'il est auto-démarré par l'environnement de bureau. Pas nécessaire si nous commençons le démon manuellement.

  pulseaudio7  

Démarrez le démon Pulleudio et notez la valeur de la source, pour moi, c'est pulseaudio8 :

pulseaudio9

Charger le module de protocole simple:

/dev/snd/0

ou pour définir définitivement, éditer le fichier:

/dev/snd/1

suivi doit être activé dans des paramètres de démarrage, nécessaire car certains programmes tels que /dev/snd/2 sur 99887776623 Un environnement de bureau ne fonctionne que si pullethaio Server dans le serveur X local est publié: < / p> /dev/snd/4

Démarrer une application de lecteur simple et une correspondance 99887776625 99887776626 définie dans la commande ci-dessus, c'est-à-dire /dev/snd/7 et /dev/snd/8 dans mon Cas. N'utilisez pas 99887776629 si vous souhaitez écouter sur PC aussi.

J'ai testé les deux solutions basées sur PulseAudio sur /proc/asound/0 et 99887776631 , et ils fonctionnent sans accès root. Toutefois, /proc/asound/2 peut limiter l'accès à certaines ressources si elle fonctionne dans un contexte non racinaire. Aussi, afin d'obtenir un accès réseau et de créer des sockets, vous devez être membre de INET (3003) groupe nécessairement. Toutes les applications avec Android.Perrission.Internet accordé est membre de ce groupe.

 

There are two possibilities I know of, to play sound from a Linux environment on Android device:

  • Play through native ALSA libraries
  • Stream through PulseAudio
    • Forward to X Server (on UNIX or TCP socket)
    • Stream over IP (TCP or UDP) e.g. when using VNC

First method works natively through ALSA kernel module/drivers while second and third work through PulseAudio libraries i.e. different modules and protocols (pulseaudio package should be installed on Termux / Linux distro).

Mostly Android OEMs base their sound architecture on ALSA, though not necessary:

"You can use Advanced Linux Sound Architecture (ALSA), Open Sound System (OSS), or a custom driver"

In case of ALSA kernel lists devices in /dev/snd/ which can be manipulated to direct sound towards sound card. Complete tutorial can be found here. It works, but not for all sound formats. It's because ALSA drivers loaded on Android devices can't be controlled (at least I could not) through standard Linux userspace tools in straightforward manner because they aren't compatible (refer to changes/additions in Linux kernel by Google/OEMs, the closed source proprietary HALs in userspace, and differences in ALSA vs. TinyALSA). Also access to /proc/asound/ is not possible without root, see details in this answer. ALSA project is here.

Also there are more customized solutions that work with ALSA and PulseAudio both such as Music Player Daemon.

When using X Server:
XSDL Server is the only well developed X server Android app I know of, no more developed unfortunately. It has a built-in PulseAudio server with module-cli-protocol-tcp already loaded, listening on standard port 4712 by default. Once the X Session is started on Linux, we can direct sound from Linux PulseAudio client libraries to XDSL PulseAudio server by setting the following environment variable on Linux:

$ export PULSE_SERVER=tcp:127.0.0.1:4712 

* 127.0.0.1 indicates that Linux and XDSL are running on same device

Or to set permanently, edit file:

# /etc/pulse/client.conf or ~/.config/pulse/client.conf  default-server = tcp:127.0.0.1:4712 

Now any media player running in this environment that makes use of PulseAudio client libraries, will stream its audio to XDSL app. You can forward X session display and sound to X server running on a PC as well but that needs a more complicated setup.

When using VNC:
VNC protocol by default doesn't support sound. However, PulseAudio server can stream over TCP/UDP using different protocols. There are apps available for Android that can play simple protocol (e.g. Simple Protocol Player) and real-time transport protocol (e.g. VLC). For this we need to load the related PulseAudio module.
To setup local PulseAudio daemon, first of all comment out following lines:

# /etc/pulse/default.pa  #ifexists module-console-kit.so #load-module module-console-kit #.endif 

Otherwise daemon will fail to start if /usr/lib/pulse*/modules/module-console-kit.so exists but consolekit package isn't installed (which is deprecated, replaced by systemd-login and no more present on many Linux repos).

Ensure that autospawn is set to yes so that we don't need to start daemon manually and it is auto started by Desktop Environment. Not necessary if we start daemon manually.

# /etc/pulse/client.conf  # Autospawn a PulseAudio server/daemon when needed autospawn = yes 

Now start pulseaudio daemon and note the value of source, for me it's auto_null.monitor:

$ pulseaudio --start && pactl list | grep -A2 -i RUNNING $ DISPLAY=:0 pulseaudio --start 

Load simple-protocol module:

$ DISPLAY=:0 pactl load-module module-simple-protocol-tcp rate=48000 format=s16le channels=2 source=auto_null.monitor record=true port=8000 listen=127.0.0.1 

Or to set permanently, edit file:

$ echo 'load-module module-simple-protocol-tcp rate=48000 format=s16le channels=2 source=auto_null.monitor record=true port=8000 listen=127.0.0.1' >> /etc/pulse/default.pa 

Following should be enabled in DE startup settings, necessary because some programs such as emixer on Enlightenment Desktop Environment works only if PulseAudio server in local X server is published:

$ DISPLAY=:0 start-pulseaudio-x11 

Start Simple Player app and match bitrate and port set in above command i.e. 48000 and 8000 in my case. Don't use listen=127.0.0.1 if you want to listen on PC too.

I have tested both of PulseAudio based solutions on ArchLinuxARM and Ubuntu, and they work without root access. However SELinux may restrict access to certain resources if running in non-root context. Also, in order to get network access and create sockets, you have to be member of inet (3003) group necessarily. All apps with android.permission.INTERNET granted are member of this group.

 
 
         
         
1
 
vote

Bonnes nouvelles, j'ai pu extraire de l'audio vers un simple joueur de protocole à l'aide de Pulseaudio pour Android sur Terminex, mais le problème est que cette méthode ne fonctionne pas sur le pouludio offical, car elle n'a pas de privilèges d'accès à la racine uniquement. Si vous avez une racine sur votre système, pouvez-vous extraire l'audio de Simple Protocol Player

AVERTISSEMENT: Si l'audio ne fonctionne pas, vérifiez le lien ci-dessous car il y a quelques notes que je n'ai pas mentionnées

sur TERMUX

faire cette commande:

/proc/asound/3

  • Visitez le lien ci-dessous pour connaître l'utilité de cette commande avant de terminer la lecture

et:

Application de téléchargement

  • Simple Protocol Player

et:

/proc/asound/4

et redémarrez TERMUX:

Fermer toutes les fenêtres de Termux

et:

/proc/asound/5

/proc/asound/6

ou uniquement:

/proc/asound/7

Installez maintenant SOX:

/proc/asound/8

et jouez son:

/proc/asound/9

Pour plus d'informations, visite lien

 

Good news, I've been able to extract audio to Simple Protocol Player using the pulseaudio for Android on Termex but the problem is that this method does not work on the offical pulseaudio because it does not have access privileges for have root only if you have root on your system can you extract audio of Simple Protocol player

WARNING: If the audio does not work, check the link below because there are some notes I did not mention

on Termux


Do this command :

pactl list sources short

  • Visit the link below to find out the usefulness of this command before you complete reading

And :


Download application

  • Simple Protocol Player

And :


echo -e "\n# Simple Protocol Player\n\nload-module module-simple-protocol-tcp source=OpenSL_ES_sink.monitor record=true port=12345 rate=44100" >> $PREFIX/etc/pulse/default.pa 

And Restart Termux :


close all windows in termux

And :


pulseaudio -k

pulseaudio --start

or only :


pulseaudio --start

now install sox :


apt install sox

And Play sound :


play [file.mp3]

For more information visit Link

 
 
   
   

Questions connexes

8  Écran cassé + Utilisation de la coquille ADB pour exécuter VNC Server  ( Broken screen using adb shell to run vnc server ) 
J'ai un HTC HD2 avec un écran complètement éclaté, j'ai essayé de la réparer avec un écran de remplacement mais j'ai cassé le câble ruban à l'écran (OOPS) Jou...

5  Logiciel distant basé sur Android pour vous connecter à OSX Desktop?  ( Android based remote software to log in to osx desktop ) 
J'ai un téléphone Android que j'aimerais utiliser pour contrôler un léopard de neige en cours d'exécution IMAC. Comme tout ce qu'ils font, il semble que Apple...

7  Tunnel SSH avec Android  ( Ssh tunnel with android ) 
sans enracinage, comment puis-je tunnel SSH à mon HomePC exécuter sshd? J'ai besoin de tunnel de SSH à la maison VNC, mais je ne fais pas confiance à VNC, a...

10  Connexion à distance au téléphone à partir d'un PC  ( Remote login into the phone from a pc ) 
Dupliqué possible: Toute solution VNC pour un périphérique non distribué? est-il possible de contrôler à distance un téléphone Android à partir d'un ...

4  Comment puis-je me connecter à mon serveur VNC Home via son nom d'hôte?  ( How can i connect to my home vnc server via its hostname ) 
comme demandé dans l'android Chambre de discussion . à la maison, j'ai une configuration du serveur VNC à distance (Ultravnc Server). Mon application act...

8  Comment configurer le partage d'écran pour les réunions d'affaires?  ( How to setup screen sharing for business meetings ) 
Je me demande s'il serait possible d'utiliser des tablettes (ou des iPads) basées à Android dans des réunions d'affaires. L'idée serait d'avoir chaque perso...

5  Optimiser TeamViewer pour la consommation de bande passante Android  ( Optimize teamviewer for android bandwidth consumption ) 
J'utilise TeamViewer pour Android pour contrôler à distance mon ordinateur et cela fonctionne bien, mais je l'ai récemment remarqué qu'il utilise beaucoup de ...

1  Comment puis-je contrôler un appareil Android avec un autre appareil Android?  ( How can i control one android device with another android device ) 
Comment puis-je utiliser un appareil Android A pour afficher et interagir avec l'appareil Android B? Je veux un contrôle total non seulement accéder au systèm...

9  Comment contrôler la télécommande à l'aide du serveur droid VNC via USB?  ( How to remote control using droid vnc server via usb ) 
J'ai installé serveur droid vnc sur mon téléphone Android 2.2 (cyanogenmod), mais ce n'est pas Effacer comment contrôler maintenant mon téléphone via USB. ...

36  Je veux contrôler à distance mon appareil Android de mon PC sans l'enraciner. Est-ce possible?  ( I want to remotely control my android device from my pc without rooting it is t ) 
à la recherche de quelque chose à distance contrôler mon droid sans avoir à raconter. Pour être clair, je cherche un contrôle total sur l'ordinateur (vue sur ...




© 2022 www.demandez.top All Rights Reserved. Questions et réponses Accueil Tous les droits sont réservés