Wifiで音楽や動画、写真などを飛ばすことができて便利なAirPlay機能ですが、iPhone/iPadに何故か実装されていないAirPlayのサーバ機能を実現するソフトがAirSpeakerとAirViewです。名前のとおりAirSpeakerは音楽、AirViewは動画の再生サーバになります。
AirSpeakerだとiPhoneをサーバにすればiPhoneがBluetoothのレシーバ(操作はできませんが)のようになり内蔵スピーカやヘッドフォンで音楽を再生できます。Bluetoothと違いAirPlayではApple Loss Lessフォーマットで伝送されるため音質の劣化が原理的にありません。
AirViewはiTunesのApp Storeに並んでいたようですが、現在は認可されなくなっている?ようです。が素晴らしいことに両ソフト共にOSSなのでビルドしてインストールしてみました。問題はあるものの結構便利そうなのでメモ。いずれは標準で出来るようになるかもしれません。というか是非取り込んで欲しいです。
- AirSpeaker https://github.com/George1024/AirSpeaker
- AirView https://github.com/nto/AirView
どちらもgit cloneで展開して、xcodeで開いてアドホックでビルド。AirViewはうまく動作しませんでしたがAirSpeakerはなんとか動作。
git clone https://github.com/George1024/AirSpeaker.git
cd AirSpeaker
open AirSpeaker.xcodeproj
後はAdHocでビルド
cd AirSpeaker
open AirSpeaker.xcodeproj
後はAdHocでビルド
AirSpeakerの使用感など。
使い方は簡単。自動ロックで止まうのでまずは設定でOFFに。後は普通にアプリを起動して、クライアント側のAirPlayで指定するだけ。
同様の機能を持つAndroidのAirBubbleなどと比べて音ズレはかなりましです。実用レベルに近いといっていいと思いますが、やはり少し発生することがあります。ズレは一定ではなく、何度か接続をやり直すと治ったりします。面白いことに0.数秒程度早めに再生されることが多いようです。(AirBubbleではかなり遅れて再生)。動画などではズレが少ない状態になるように調整が必要です。ソースを見ると時間同期をやっていそうな箇所があるので対応できそうではあります。
バックグラウンドで動作しますが、バックグラウンドへの移行時や他のアプリの操作で音切れやノイズが発生します。 長時間での安定性は...残念ながらいいとは言えません。しばらく使っていると止まってしまったり、時々音切れが発生します。また再生を止めたり始めたりすると音がずれたり接続できなくなったりすることがありました。総じてなんとか使えるかもしれない、といったレベルです。
ということで、特に安定性にかける点でもう一歩という感じですが、iPhoneがAirPlayサーバになるとiPad+iPhone+ヘッドフォンという組み合わせやiPhone->iPad動画再生なんていうのがとてもいい感じで使えます。是非Appleに標準で実装して欲しい機能ですがiOS5では出来ないようです。バッテリーの消耗も激しいし、せっかくのOSSなので時間ができたらソースを弄ってみようと思いつつ。
WifiでのAirPlay専用のBTレシーバのようなの。どこかのメーカさん作ってくれないかなぁ