web-dev-qa-db-ja.com

リモートオーディオレシーバーとしてAndroid 2.1電話を使用する方法

未使用のHTC Hero Android電話(Android OS 2.1を実行中)があります。オーディオアンプに接続し、数か月間接続したままにするため、このAndroidリモートpulseaudioサーバー/レシーバー/その他としての電話。

Android Marketには「/ dev/dsp」からストリームを取得できる「リモートオーディオ」アプリケーションがあります。/dev/dsp 無効になっています ubuntu 10.10で誤った理由が何であれ、 このスレッド に従って これらの手順 に従って有効にした後でも=役に立たなかったので、Androidの[再生/一時停止]ボタンをクリックしても、実際には何も起こらず、mpg123 song.mp3は引き続きラップトップスピーカーを使用します。最後| headは、この新しいユーザーのログインも表示しません(ここに表示されるはずです)。

「pulseaudio」で検索するとAndroid市場で Airbubble が見つかりましたが、「MacOS XのRaopXおよびLinuxのpulseaudioのraopモジュールでは動作しません」と表示されます。 (c)

Android電話をリモートオーディオレシーバーとして使用する方法はありますか。理想的にはmp3 /音楽の再生に限定されませんが、一般的にはサウンドサブシステムですか?

確かに、Wi-Fi経由でAndroid電話に音声をブロードキャストして、適切なスピーカーで音声を聞きたいのは私だけではありませんか?

21
user35834

私はあなたのアイデアをやりすぎて、あなたの電話に決して意図されていないことをさせようとしています(PulseAudioまたはより低レベルのものに接続してください)。コンピューターにハードワークを行わせます。

Icecast( tutorial here )のようなものを使用して、Androidにストリーミングできる30種類のアプリのいずれかを使用することをお勧めします。

13
Oli

二日前、私はこの質問につまずき、それを正しく理解できませんでした。最終的に、AirBubbleマニュアルでRAOPはサポートされていないことを読みました。

私はついにpulseaudioのDLNA/UPnP機能でそれを解決しました。期待どおりに機能します。箱にpulseaudio出力があるアプリでサウンドを再生し、Androidデバイスにリダイレクトしたいときはいつでもストリーミング出力を選択します。

まず、Rygelをインストールします。

$ Sudo apt-get install rygel rygel-preferences rygel-gst-launch

次に、ファイル/etc/rygel.confを変更して、パラメーターenable-transcodingを含む行が次のようになるようにします。

enable-transcoding=false

次に、DLNAとTCPモジュールをロードして、rygelを起動します。

$ pactl load-module module-http-protocol-tcp
$ pactl load-module module-rygel-media-server 
$ pactl load-module module-null-sink sink_name=upnp format=s16be channels=2 rate=44100 sink_properties="device.description='DLNA/UPnP Streaming' device.bus='network' device.icon_name='network-server'"
$ rygel

Androidデバイスで、アプリBubbleUPnPをダウンロードします。 pulseaudio出力デバイスは、サーバー「Sound on%HOSTNAME%」の下にリストされます。コンピューターの出力をサウンド設定でDLNAデバイスに送信します。 BubbleUPnPで同じ出力を選択します。

BubbleUPnPは最初の30分間は無料でストリーミングすることに注意してください。フルバージョンは3,49€ですが、価格に見合う価値があると思います。他のアプリが私のために機能することはありませんでした。

最後に、rygel-preferencesを使用してメディアブラウザが気に入らない場合は、メディアブラウザを無効にできます。

$ rygel-preferences

もう1つの注意点:これは未加工のLPCMデータを直接ストリーミングします。これは常に最大250 kB/sです。 802.11 nネットワーク以外の場所にいる場合は、偽のWLANアクティビティによりst音が発生します。エンターテイメントソリューションをワイヤレスストリーミングに基づいて計画する場合は、ワイヤレスnルーターの購入を検討してください。

フォローアップ:トランスコーディング

ネットワークのオーバーヘッドとst音(802.11 nネットワークを使用していない場合に発生します)を減らすために、オーディオストリームをmp3にトランスコードすることができます。

これを〜/ .config/rygel.confに貼り付けます

[GstLaunch]
enabled=true
launch-items=mypulseaudiosink
mypulseaudiosink-title=Sound on @HOSTNAME@
mypulseaudiosink-mime=audio/mpeg
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! lamemp3enc target=quality quality=6

Rygelを起動すると表示される「Gst Launch」DLNAサービスを使用します。

フォローアップ2:FLAC

LAMEは最大2分間(!)の遅延を引き起こす可能性があります。一方、FLACは非常に高速で、通常は1秒未満のクロックです。上記の例の行を次のように変更します。

mypulseaudiosink-mime=audio/flac
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! flacenc quality=8

これにより、ストリームが約100 kB/sに減少し、複数のユーザーがいるほとんどの802.11gネットワークでスムーズに再生できます。トレントをダウンロードしながらテストしました。フルスピードでは、いくつかの音が途切れていましたが、ダウンロード速度を最大帯域幅よりも約200 kB/sに制限すると、再びスムーズになりました。

さらに、品質の損失がなくなりました。


上記のいくつかの問題-代わりに~/.config/rygel.confをチェックして編集し、デフォルトでロードされていない場合は/etc/.config/rygel.conf(?)を編集します。

シンクの作成は、それ以降のUbuntuバージョンでは機能しません。

しかし、私にとってうまくいったのは、すべての指示に従うことです(シンクの作成を除く)。次にpaprefsを実行し、[ネットワークサーバー]タブで、下部のオプション[ローカルサウンドデバイスをuPnPサーバーとして使用可能にする]を選択します(サブオプションも必要になる場合があります)。

Rygelを起動し、PulseAudio設定で新しい「DLNA/UPnP Streaming」オプションを選択します。

BubbleUPnPで、「Gst Launch」をライブラリとして選択します。アプリで[ライブラリ]を選択すると、上部に[サウンドオン]というオプションが表示されます。

19

Pulseaudioコミュニティの外を見たいと思うかもしれません。

Subsonic を試しています。これまでのところうまくいきました。 Ubuntuシステム、リビングルームRoku、プライマリAndroid電話、およびwifi専用のセカンダリAndroid電話にインストールしました。これらのデバイスはすべて、wifiを介して接続されています。私の妻が彼女のiTunesコレクションを他のデバイスにストリーミングできるように、Windowsマシンにもインストールする予定です。

UbuntuシステムからリビングルームのRokuにオーディオとビデオをストリーミングできるようになりました。または、キッチンに持って行ったり洗濯物を折り畳んだりするときに使用できるAndroidになりました。また、Webブラウザを備えた任意のコンピューターからストリーミングできます。退屈な長い家のメンテナンスプロジェクトに取り組みながら、音楽やポッドキャストをストリーミングしています。

これまでのところうまくいきました。

1

ShairplayはTCPをサポートしておらず、raop_play(pulseaudio-module-raopはこれに基づいていると思います)はUDPをサポートしていません。 raopがTCPのみである理由は奇妙であり、UDPは一見、より簡単でより適したプロトコルのようです。

また、ソースがflacである場合、MP3を介したicecastは品質を低下させ、さらにCPUを大量に消費します。 MPDはパルスオーディオ出力をネイティブでサポートしているため、家のさまざまな部屋を「オン/オフ」することができます。 mpdroidアプリを搭載したAndroid電話。エアプレイドックをエンドポイントとして使用できる場合は、素晴らしいセットアップになります。しかし、cos raopはシンプルなUDPエンドポイントをサポートしていません!

1
Stephen

サーバーでFoobar2000を使用し、クライアントで BubbleUPnP (ペイウェア)を使用できます。

  1. ワインを手に入れる
  2. get foobar_v1.2.5.exe
  3. $ wine foobar2000_v1.2.5.exe
  4. 次、次、次... :)
  5. get foo_upnp
  6. foob​​ar2000のcomponentsフォルダーに抽出します(おそらく~/.wine/drive_c/Program Files/にあります)
  7. foob​​ar2000を起動します
  8. [ライブラリ]→[設定]→[再生]→[出力]→[デバイス]に移動し、[Null出力]を選択します
  9. ufwが関連するトラフィックをブロックしていないことを確認してください
  10. bubbleUPnP ::
    1. [デバイス]→[ライブラリ]に移動し、foobar2000サーバーを選択します
    2. 「ライブラリ」で「再生ストリームキャプチャ」を選択します

このアプローチには、Androidで一時停止すると、バッファーが蓄積されるという利点があります(サーバーがまだ送信しているため)。

Ubuntu(ワインバージョン1.5.28-0ubuntu1~ppa1、foobar2000バージョン1.2.5およびfoo_upnpバージョン0.99.46)およびWindowsでテスト済み。

0
Janus Troelsen