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


21

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

Androidマーケットには、/ dev / dspからストリームを取得できる「リモートオーディオ」アプリケーションがあります。の/ dev / dspを無効にされているのUbuntu 10.10で間違い/何らかの理由で、私は、あたりとしてそれを有効にした後でも、このスレッド -次の後にこれらの指示に私はAndroid上で再生/一時停止ボタンをクリックしたときに、それはそう、助けにはならなかったん-本当に何もmpg123 song.mp3は私のラップトップスピーカーを使用し続けます。最後| headは、この新しいユーザーのログインを表示しません(ここに表示されるはずです)。

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

だから、理想的にはmp3 /音楽の再生に限らず、一般的にはSoundサブシステムだけでなく、Androidフォンをリモートオーディオレシーバーとして使用する方法はありますか?

確かに、適切なスピーカーで聞くためにwi-fi経由でAndroidフォンに音声をブロードキャストしたいのは私だけではありませんか?

回答:


13

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

Icecast(チュートリアルはこちら)のようなものを使用し、それをストリーミングできるAndroid用の30種類のアプリのいずれかを使用することをお勧めします。


おかげで、Androidマーケットには少なくとも私の問題を解決するはずのアプリケーションが2つあります。「リモートオーディオ」と「AirBubble」(Apple AirportExpressと互換性があります)。
user35834

@ user35834:Ubuntu側でIcecastサーバーをセットアップした後、受信側で独立します。「インターネットラジオ」に合わせて調整できるもの(!)も、独自のストリームを受信できます。IcecastとRAOPには、さらに多くの利点があります。
タッカット

19

二日前、私はこの質問につまずき、それを正しく理解できませんでした。最終的に、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」をライブラリとして選択します。アプリで[ライブラリ]を選択すると、上部に[サウンドオン]というオプションが表示されます。


3
rygelの使用に関するポスターには、アプローチは適切に思えますが、11.10バージョンではmodule-null-sinkはこれらの引数を取りません。別のモジュールを意味する必要がありますが、私はまだそれを見つけることができません。良いアイデア、修正して助けてください。

実行後pactl load-module module-null-sink sink_name=upnp......、次のエラーが表示されます:Failure: Module initalization failed。何か案が?
ルシッドアラム

@KhurshidAlam:私のアプローチを試してください。テキスト編集はなく、インストールされている有効なWineのみに依存しています。
ヤヌス

@JanusTroelsen:あなたのアプローチは機能しますが、他の方法を最初に試すことを強調します。Wineは素晴らしいプロジェクトですが、最後の手段としてのみ使用すべきです。それは信頼できません。
トースト

1

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

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


1

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

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

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

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


0

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

  1. ワインを手に入れる
  2. 取得する foobar_v1.2.5.exe
  3. $ wine foobar2000_v1.2.5.exe
  4. 次、次、次... :)
  5. 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(Wineバージョン1.5.28-0ubuntu1~ppa1、foobar2000バージョン1.2.5およびfoo_upnpバージョン0.99.46)およびWindowsでテスト済み。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.