
オーディオ出力をネットワーク (Wi-Fi) 経由で Android デバイスにストリーミングしたいです。音楽/ビデオ ストリーミング ソリューションを探しているのではなく、GNU/Linux デスクトップのオーディオ出力を Bluetooth ヘッドフォンのように Android にストリーミングしたいと考えています。
私の GNU/Linux デスクトップは Debian Wheezy で、サウンドは pulseaudio によって提供されています。
Pulseaudio の raop モジュール (paprefs で有効化) + Android の AirBuddle アプリを試しましたが、オーディオがストリーミングされません (pulseaudio は AirBuddle に接続しているように見えますが、サウンドは再生されません。一部のソフトウェアでは接続エラーが発生し、他のソフトウェアではサウンドが停止します)。
答え1
PulseAudio にはすでに必要なツールがすべて揃っているので、非常に簡単な解決策があります。
- コマンドでソースデバイス名を取得する
pactl list | grep Name
次の名前のスクリプトを作成します
pashare
:#!/bin/sh case "$1" in start) $0 stop pactl load-module module-simple-protocol-tcp rate=48000 format=s16le channels=2 source=<source_name_here> record=true port=8000 ;; stop) pactl unload-module `pactl list | grep tcp -B1 | grep M | sed 's/[^0-9]//g'` ;; *) echo "Usage: $0 start|stop" >&2 ;; esac
いくつかのチェックと準備を行います (スクリプトの実行を許可し、ポートが正常に開かれたかどうかを確認するため):
chmod 755 pashare ./pashare start netstat -nlt | grep 8000 telnet 127.0.0.1 8000
ダウンロードとインストールパルスドロイド.apk
- 携帯電話でアプリを起動し、IP アドレスをコンピューターに設定し、ポートを に設定します
8000
。
PS また、確認することもできます このWikiページPulseaudioネットワークストリーミングに関する一般的な情報については、このWikiページRTP ストリーミングについて。WiFi 経由での生のオーディオのストリーミングにはあまり期待しないでください。膨大な帯域幅が必要になります。強力な信号を備えたハイエンドのワイヤレス ルーター/AP を使用しても、途切れ途切れのオーディオしか得られませんでした。おそらく、生のオーディオを MP3 などにトランスコードして代わりにストリーミングする適切なメディア サーバー (Pulseaudio と連携する Rygel など) を設定するのが最善策でしょう。
答え2
使用できますVLCHTTP経由でpulseaudioの出力のMP3ストリームを提供します。
主な利点は、リモートデバイスに特別なソフトウェアをインストールする必要がなく、ストリームを再生するために必要なのはWebブラウザ(または音楽プレーヤー)だけです。欠点は、オーディオのみであり、数秒の遅延によりビデオには役に立たないことです。
pulseaudio の出力名を見つけるには:
pactl list | grep "Monitor Source"
VLC http サーバーを起動し、XXXX を出力名に置き換えます。
cvlc -vvv pulse://XXXX --sout '#transcode{acodec=mp3,ab=128,channels=2}:standard{access=http,dst=0.0.0.0:8888/pc.mp3}'
必要に応じて、ローカルIPアドレスを見つけます。
ifconfig
リモート デバイスで、ブラウザー (またはオーディオ ストリーミング アプリ) を次の場所に移動します。
http://your.local.ip.address:8888/pc.mp3
注: 完全にミュートしない限り、ストリームはサーバーで設定された音量の影響を受けません。必要に応じて、レベルを 0 よりわずかに高い値に保ち、リモート デバイスの音声のみを聞くことができます。
最初の2つのステップを1つにまとめると多項式ドーナツ:
cvlc -vvv pulse://$(pactl list | grep "Monitor Source" | awk '{print $3}') --sout '#transcode{acodec=mp3,ab=128,channels=2}:standard{access=http,dst=0.0.0.0:8888/pc.mp3}'
答え3
オーディオ出力をWi-Fi経由でAndroidスマートフォンにストリーミングするには、オーディオを送信するサーバーソフトウェアをPCにインストールし、クライアントソフトウェアをAndroidデバイスにインストールする必要があります。利用可能なオプションは次のとおりです。
WiFiオーディオワイヤレススピーカー
WiFi Audio Android アプリを実行してスタートを押すと、下部にモバイル デバイスの IP アドレスが表示されます。その後、Windows/Linux アプリケーションを実行して、IP アドレス フィールドにモバイル デバイスの IP アドレスを入力し、PC アプリケーションでスタートを押します。これで、PC から出力されるすべてのオーディオがモバイル デバイスに送信され、モバイル デバイスでオーディオが聞こえるようになります。
ダウンロード
サウンドワイヤー
PCからAndroidスマートフォン、タブレット、その他のPCに音楽やオーディオをワイヤレスで転送します
ホームページ こちらもご覧ください
答え4
Soundwire を使用していて、ラップトップや PC から WiFi を送信している場合は、ifconfig を使用して正しい IP アドレスを使用していることを確認してください。これは現在でも機能しますが、ほとんどの Linux ディストリビューションでは WiFi を送信するために 2 番目の WiFi アダプターが必要であり、Android が接続されているアダプターを使用する必要があります。インターネットを受信するアダプターではありません。送信するアダプターです。
つまり、「A」の Wi-Fi アダプターを使用してインターネットに接続し、「B」を使用して「A」から Wi-Fi を送信する場合、Android 上の SoundWire を「A」ではなく「B」に接続します。
Wi-Fi を送信しないアダプタに接続すると、SoundWire は接続もストリーミングも行われません。そのため、ターミナル コマンド ifconfig を使用して、IP アドレスを Android アプリに適切に入力してください。
確かに遅延はありますが、このアプリ、SoundWire は、最もシンプルな「IP に複数接続して忘れる」システムです。面倒なメニューはありません。また、複数の接続も受け入れます。先日、2 つ使用しました。送信元のデバイスのメイン ウィンドウに、接続されているデバイスの数が追加されます。
私は現在まで、これを自宅でマルチルーム/短距離 Wi-Fi 無線システムとして個人的に使用しています。
楽しむ。