Ich weiß, dass es möglich ist, Impuls-Audio auf einem Linux-Host-System zu verwenden Aber paprefs
ist für Linux nicht mac gebaut.Wie kann ich Audio von einem Docker-Container an einen Mac weitergeben?
Antwort
Die Docker-für-Mac-VM verfügt über kein Sound Passthrough-Gerät. Sie können also nichts aus diesem Blickwinkel heraus nutzen. Im Gegensatz dazu kann eine virtualbox- oder vmware-Fusion-VM Passthrough-Audio ausführen.
konnte ich Pulseaudio installiert und arbeitet auf OSX mit dem folgenden Befehl zu erhalten:
brew install pulseaudio
Ich konnte dies mit dem folgenden gearbeitet, um zu überprüfen, zu hören Sound kam aus den Lautsprechern:
paplay cockatiel.wav
Mein nächster Schritt ist, ein Bild zu finden, das eine Kopie von paplay
hat. Ich fand , die ein Pulseaudio Server sein soll, aber ich sollte in der Lage sein, es als Client auch zu verwenden.
Ich fand die folgende Anleitung auf dem Archlinux Wiki Diskussion Pulseaudio Netzwerk Sound einrichten: https://wiki.archlinux.org/index.php/PulseAudio/Examples#PulseAudio_over_network
Ich konnte es zu dieser Situation anzupassen, indem die folgenden tun. Ich bearbeitete /usr/local/Cellar/pulseaudio/9.0/etc/pulse/default.pa
auf meinem Mac und unkommentiert die folgenden zwei Zeilen:
load-module module-esound-protocol-tcp
load-module module-native-protocol-tcp
ich paplay cockatiel.wav
auf meinem Mac reran meiner Änderungen noch gearbeitet sicher. Der Pulseaudio-Daemon scheint auf Nachfrage zu starten und gibt seine Beschwerden zurück an paplay
, um auf meinem Bildschirm gedruckt zu werden, wenn ich einen Tippfehler machte. Ich habe immer noch Sound mit diesen Änderungen an default.pa, so bin ich zufrieden, dass meine Änderungen nichts gebrochen haben.
Als nächstes lief ich den Pulseaudio-Client in einem Behälter wie folgt aus:
docker run --rm -v $HOME:$HOME -w $HOME -it \
-e PULSE_SERVER=192.168.10.23 \
-e HOME=$HOME --entrypoint paplay \
jess/pulseaudio $HOME/cockatiel.wav
Was dies als ein Volumen eines Behälters mit meinem lokalen Home-Verzeichnis ausgeführt wird ist. Dies dient zwei Zwecken. Der erste ist die Tatsache, dass mein cockatiel.wav sich innerhalb $HOME
befindet. Der zweite Grund ist, dass sowohl der Client als auch der Server eine Kopie der gleichen ~/.config/pulse/cookie
Datei haben müssen (gemäß dem archlinux Wiki Guide).
Die Umgebungsvariable PULSE_SERVER
ist die IP-Adresse en0 meines OSX-Hosts, daher weiß pavlay, woran er sich anschließen soll.
Die Umgebungsvariable HOME
ist erforderlich, damit pavla dieselbe ~/.config/pulse/cookie
Datei finden kann.
Ich konnte Sound aus einem Container auf meinem Docker-for-Mac über Pulseaudio wiedergeben.
Solange die Datei ~/.config/pulse/cookie
an der richtigen Stelle angezeigt wird, sollten Sie in der Lage sein, Ton wiederzugeben. Sie müssen nicht ein Host-Volume verwenden, um dies zu erreichen - Sie könnten auch ein "Docker CP" oder sogar COPY
in ein Bild tun.
- 1. Wie kann ich ein Volume in einem aktiven Dockercontainer zuordnen?
- 2. Was kann ich an fopen weitergeben?
- 3. Wie kann ich das Salz an den Frühling weitergeben?
- 4. Kann Cloud Foundry Chaincode an BlueMix weitergeben
- 5. Wie kann ich Daten an Libcore auf Android weitergeben?
- 6. Wie kann ich einen vorhandenen Facebook-Post von einer iOS App an die Nutzer-Timeline weitergeben?
- 7. Wie kann ich Audio von getUserMedia auf einen Server streamen?
- 8. Wie kann ich eine HTML-Tabellenzeile an DataTable.net weitergeben fnAddData
- 9. Wie kann ich mit Sinatra und Datamapper Arrays von einem Formular an eine Datenbank weitergeben?
- 10. Einfache Audio-Input-API auf einem Mac?
- 11. Wie kann ich einen benutzerdefinierten Wert an eine Feder aop Beratung weitergeben?
- 12. Wie wird das Containerverzeichnis in einen anderen Dockercontainer eingebunden?
- 13. Mausereignisse an verdeckte Elemente weitergeben
- 14. Konstruktorsignatur an Factory-Methode weitergeben
- 15. Wie kann ich ein lokales Speicher-Authentifizierungs-Token von meiner Site an meine WebExtension weitergeben?
- 16. Benutzernamen und Passwort an svcutil.exe weitergeben?
- 17. Informationen von einem Formular zum anderen weitergeben?
- 18. HAL - wie Audio-Ausgang zur Überwachung auf einem Mac
- 19. Daten vom CollectionView-Delegaten an einen anderen ViewController weitergeben
- 20. Wie kann ich Requisiten an 'this.props.children' weitergeben, wenn ich den react-router benutze?
- 21. Wie würde ich einen Timer von einem Fragment zum anderen weitergeben?
- 22. Wie kann ich einen Audio-Stream von einem Icecast auf WP7 Wiedergabe
- 23. Wie kann ich eine for-Schleife in einem Angular-Objekt an eine Zeichenfolge weitergeben, die von $ sce gerendert wird
- 24. Wie kann ich Daten von einem HTML-Formular an eine JavaScript-Datei weitergeben, die AJAX-Aufrufe verarbeitet?
- 25. Eigenschaften an übergeordnetes Steuerelement weitergeben C#
- 26. Wie kann ich einen Text an ein Bluetooth-Armband senden?
- 27. Scroll-Ereignis vom übergeordneten Container an einen untergeordneten Container weitergeben
- 28. Vertx: erste Daten an vertikales Deployment weitergeben
- 29. Beacon/Gerät, das Signal von einem anderen Beacon empfangen und an Smartphone weitergeben kann
- 30. Wie kann ich Eclipse-Workspace-Projekte mit der GIT CMD-Desktop-Anwendung an Git weitergeben?
Ich bekomme den folgenden Fehler beim Ausführen von pavla piano2.wav $ papla piano2.wav W: [] caps.c: Normalerweise werden jetzt alle zusätzlichen Funktionen gelöscht, aber das ist unmöglich, weil PulseAudio ohne Unterstützung von Funktionen gebaut wurde. Verbindungsfehler: Verbindung verweigert pa_context_connect() fehlgeschlagen: Verbindung verweigert –
@valentin_nasta haben Sie das Problem mit der Installation von PulseAudio auf dem Mac behoben? –
Mit dem aktuellen PulseAudio 10.0 scheint die Ausführung von "pulseaudio --daemonize = false -v" nicht zu starten, erhalten Sie "W: [] socket-util.c: IP_TOS fehlgeschlagen: Ungültiges Argument" nach dem Hinzufügen der beiden Modul-esound- Protokoll-tcp/ Modul-native-Protokoll-TCP-Zeilen. – jamshid