WiFiオーディオワイヤレススピーカー

WiFiオーディオワイヤレススピーカー

オーディオ出力をネットワーク (Wi-Fi) 経由で Android デバイスにストリーミングしたいです。音楽/ビデオ ストリーミング ソリューションを探しているのではなく、GNU/Linux デスクトップのオーディオ出力を Bluetooth ヘッドフォンのように Android にストリーミングしたいと考えています。

私の GNU/Linux デスクトップは Debian Wheezy で、サウンドは pulseaudio によって提供されています。

Pulseaudio の raop モジュール (paprefs で有効化) + Android の AirBuddle アプリを試しましたが、オーディオがストリーミングされません (pulseaudio は AirBuddle に接続しているように見えますが、サウンドは再生されません。一部のソフトウェアでは接続エラーが発生し、他のソフトウェアではサウンドが停止します)。

答え1

PulseAudio にはすでに必要なツールがすべて揃っているので、非常に簡単な解決策があります。

  1. コマンドでソースデバイス名を取得するpactl list | grep Name
  2. 次の名前のスクリプトを作成します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
    
  3. いくつかのチェックと準備を行います (スクリプトの実行を許可し、ポートが正常に開かれたかどうかを確認するため):

    chmod 755 pashare
    ./pashare start
    netstat -nlt | grep 8000 
    telnet 127.0.0.1 8000
    
  4. ダウンロードとインストールパルスドロイド.apk

  5. 携帯電話でアプリを起動し、IP アドレスをコンピューターに設定し、ポートを に設定します8000

PS また、確認することもできます このWikiページPulseaudioネットワークストリーミングに関する一般的な情報については、このWikiページRTP ストリーミングについて。WiFi 経由での生のオーディオのストリーミングにはあまり期待しないでください。膨大な帯域幅が必要になります。強力な信号を備えたハイエンドのワイヤレス ルーター/AP を使用しても、途切れ途切れのオーディオしか得られませんでした。おそらく、生のオーディオを MP3 などにトランスコードして代わりにストリーミングする適切なメディア サーバー (Pulseaudio と連携する Rygel など) を設定するのが最善策でしょう。

答え2

使用できますVLCHTTP経由でpulseaudioの出力のMP3ストリームを提供します。
主な利点は、リモートデバイスに特別なソフトウェアをインストールする必要がなく、ストリームを再生するために必要なのはWebブラウザ(または音楽プレーヤー)だけです。欠点は、オーディオのみであり、数秒の遅延によりビデオには役に立たないことです。

  1. pulseaudio の出力名を見つけるには:

    pactl list | grep "Monitor Source" 
    
  2. 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}'
    
  3. 必要に応じて、ローカルIPアドレスを見つけます。ifconfig

  4. リモート デバイスで、ブラウザー (またはオーディオ ストリーミング アプリ) を次の場所に移動します。

    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に音楽やオーディオをワイヤレスで転送します
ホームページ こちらもご覧ください

その他の便利なリンク
翻訳 アンドロイドSE

答え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 無線システムとして個人的に使用しています。

楽しむ。

関連情報