Linuxホストシステムでパルスオーディオを使用することで可能ですが、paprefs
はMacではなくLinux用に構築されています。DockerコンテナからMacにオーディオをエクスポーズする方法は?
答えて
Docker-for-Mac VMにはサウンドパススルーデバイスがないため、その角度から利用できるものはありません。対照的に、仮想ボックスまたはVM웨어の融合VMには、パススルーオーディオを実行する機能があります。
私はPulseAudioはインストールされ得ることができたし、次のコマンドを使用してOSXに取り組ん:
:私は私のスピーカーから出てくる音を聞いて、以下を実行して働いていたこれを確認することができましたbrew install pulseaudio
paplay cockatiel.wav
私の次のステップは、paplay
のコピーを持つ画像を見つけることです。私はjess/pulseaudioを見つけました。これはpulseaudio サーバですが、クライアントとしても使用できるはずです。
私はPulseAudioはネットワークの音を設定する議論Archlinux Wikiに次のガイドを見つけました:https://wiki.archlinux.org/index.php/PulseAudio/Examples#PulseAudio_over_network
私は次のことを行うことによって、このような状況に適合させることができました。私は私のMac上でを編集して、次の2行コメント解除:
load-module module-esound-protocol-tcp
load-module module-native-protocol-tcp
私は私の変更はまだ働いていたことを確認するために私のMacでpaplay cockatiel.wav
をreranを。 pulseaudioデーモンは要求に応じて開始されるように見え、入力ミスをした場合、画面に印刷されるpaplay
にその苦情を送り返します。私はまだdefault.paへのそれらの変更で音を持っているので、私の変更が何かを壊していないことは満足しています。
次に、私はこのようなコンテナ内のpulseaudioクライアントを実行しました:
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
これは何のボリュームとしての私のローカルのホームディレクトリを持つコンテナを実行しています。これは2つの目的を果たす。最初は、私のcockatiel.wavが$HOME
の中に入っているという事実です。 2番目の理由は、クライアントとサーバーの両方に同じ~/.config/pulse/cookie
ファイルのコピーが必要なためです(そのarchlinux wikiガイド)。
PULSE_SERVER
環境変数は、OSXホストのen0 IPアドレスです。したがって、paplayは接続先を認識しています。
環境変数は、同じ~/.config/pulse/cookie
ファイルを見つけるために必要です。
私のdocker-for-macで動作しているコンテナから、pulseaudio経由でサウンドを再生することができました。
~/.config/pulse/cookie
ファイルが正しい場所に表示される限り、サウンドを再生できるはずです。これを達成するためにホストボリュームを使用する必要はありません。画像に「ドッカーcp」、あるいはCOPY
を使用することもできます。
- 1. Docker for Mac 1.12.0:コンテナからホストに接続する方法
- 2. dockerコンテナからmacホストのIPアドレスを取得するには?
- 3. botocore.exceptions.EndpointConnectionError from Mac Dockerコンテナ
- 4. Docker on Mac:コンテナ内のリスンポートをテストする方法
- 5. Mac用Dockerで、コンテナから見たホストIPは何ですか?
- 6. WindowsからDockerコンテナ内のSSHDに接続する方法は?
- 7. WindowsホストからDockerコンテナにファイルをコピーする方法
- 8. Mac上のDocker(1.12.0)コンテナ内のPostgresサーバーに接続する方法は?
- 9. Docker for Macでドッキング用のコンテナを自動起動する方法は?
- 10. lanの別のマシンからDockerコンテナにアクセスする方法
- 11. dockerコンテナからPostgresバックアップを作成する方法
- 12. ECSのホストからDockerコンテナへファイルをマウントする方法
- 13. Dockerで他のコンテナをコンテナ待ちにする方法
- 14. Dockerコンテナからホストの共有フォルダにデータを取得する方法は?
- 15. Dockerコンテナからそのホストにファイルを同期バックする方法は?
- 16. Docker for Mac:コンテナのホスト名設定
- 17. dockerコンテナからのdockerコマンドの実行
- 18. Dockerコンテナからネットワーク上の他のホストのMACアドレスを取得する
- 19. Docker Mac Betaとコンテナがホストポートに接続していますか?
- 20. 1つのDockerコンテナから別のDockerコンテナへのロギング
- 21. DockerコンテナをVMにエクスポートする最も簡単な方法は
- 22. Windows上のDocker:コンテナIPを使用してホストからコンテナに接続する方法は?
- 23. Boost :: shared_ptr <T>をTcl + SWIGインターフェイスファイルにエクスポーズする方法は?
- 24. docker-composeファイルからコンテナのコンテナの状態を確認するには
- 25. dockerは、dockerクライアントからdockerホスト上で動作するdockerコンテナにボリュームをマウントする方法を教えてください。
- 26. SSH経由でMySQL Dockerコンテナに接続する方法は?
- 27. 新しい画像からDockerコンテナを更新するには?
- 28. このコンテナを開始せずにDockerコンテナからファイル/フォルダを削除する方法
- 29. Dockerコンテナをコピーして名前を変更する方法は?
- 30. dockerコンテナ内でファイルビートを開始する方法は?
paplay piano2.wav $ paplay piano2.wav W:[]を実行しているときに次のエラーが発生します。c:通常、余分な機能はすべて削除されますが、PulseAudioは機能をサポートしていないため、不可能です。 接続に失敗しました:接続が拒否されました pa_context_connect()failed:接続が拒否されました –
@valentin_nasta MacでPulseAudioをインストールする際に問題を解決できましたか? –
現在のPulseAudio 10.0では、 "pulseaudio - daemonize = false -v"を実行していないようですが、2つのmodule-esound- protocol-tcp/ module-native-protocol-tcp行。 – jamshid