View
175
Download
0
Category
Preview:
Citation preview
某Music Unなんとかみたいなことがしたい2012.08.24 スマートフォン勉強会@関東 #20
tmyt
こんにちは
tmytといいます
今年で19歳になります
アマグラマからプログラマにクラスチェンジしました
スマートフォンはこんなの使ってます
Fujitsu IS12T(カーオーディオ)
Sony Xperia SX(定期券)
Apple iPhone(ゲーム機)
Paasonic 822P(薄い電話)
おしながき
問題と背景
解決策の検討
実装
評価
問題と背景
Q.あなたの音楽ライブラリのサイズは?
10MB?
100MB?
1GB?
10GB?
More music…?
Q.あなたの携帯のNAND領域は?
128GB?
64GB?
32GB?
16GB?
Less storage…?
スマートフォンの問題点
ストレージ領域が限定されてしまう
コンテンツの大容量化しているため端末内に保存できる件数
ベースではほぼほぼ変わりがない
大容量ストレージの利用も32GB程度が上限となる
すべてのコンテンツを持ち出すことは難しい
個人的な問題点
お風呂でひま。音楽ききたい。
IS12Tに音楽入れたら埋まった。足りない。
カーナビあるけどSDしか読めない。USB使えない。
いまさら音楽CD焼くとかありえない。めんどい。
携帯の電池切れたら音楽聞けなくなるとかちょっと…
解決策の検討
Everything in the cloud…
スマートフォンはネットワークに接続されていることを想定
してよい
データはどこか1か所にあればよい
自宅クラウドからストリーミングで配信すれば携帯端末の容
量制限に縛られることもない
すべてはクラウドに集約する
解決策
スマートフォンで足りない容量のメディアファイルを外部
サービスに丸投げできるわけがない
全部自前で賄おう
自宅クラウドを有効活用する
自宅なら数テラバイトのストレージがありますよね?
巨大ストレージの玄関としてのスマートフォン
実装
想定環境
デバイス
Fujitsu IS12T
Windows Phone 7.5
RAM: 512MB
ROM: 32GB
WiFi & 3G
サーバ
Linux 2.6
PHP 5.3
実装方法
BackgroundAudioAgent を使用する
他のアプリを使用中でも音楽が聴ける
ロック画面中でも大丈夫
配信サーバは新規実装する
ようするに全部作る
Orb流用とかおもしろくない
おさらい実装
登場人物
AudioPlayerAgent クラス
バックグラウンドでオーディオを再生するように特別に設計されたBackgroundAgent の実装
MSDN - http://msdn.microsoft.com/ja-jp/library/microsoft.phone.backgroundaudio.audioplayeragent(v=vs.92)
TagLib
TagLib is a library for reading and editing the meta-data of
several popular audio formats. TagLib - http://taglib.github.com/
その他いろいろ
サーバの実装実装
サーバを実装する
APIがないと話にならないので実装します
PHPで全部書きます
DBはSqlite、ID3v2タグはTagLibで解析します
モジュールが足りない?ビルドしてください
リクエストされたらSqliteのDBをもとにしてXMLを返します
楽曲ごとにIDを割り振ります
データはてきとうにどうにかします
できました
クライアントからの呼び出しに応答するWeb実装ができまし
た
DBはターミナルから作りましょう
自動的に更新?Cronでどうぞ
クライアントの実装実装
クライアントを実装する
新規プロジェクトを作成
PhoneApp1を作ります
BackgroundAudioPlayerプロジェクトを追加
BackgroundAudioPlayerプロジェクトの参照をPhoneApp1へ追加
ReactiveExtensionとWebClientとXElementあたりでサーバと通信するコードを書きます
BackgroundAudioPlayerを叩き起こします
できました
Windows Phoneから自宅クラウドを通して音楽が聴けるよ
うになりました
インターネット接続があればどこでも大丈夫
端末容量に悩むことはもうありません
評価
実際に使用してみる
IS12Tは防水。当初計画していたお風呂で使用する。
もちろんネットワークは自宅の無線LANです
十分に動く
とてもよい
実際に使用してみる - 屋外編
屋外での使用は必然的にインターネット越しになる
十分なアクセス制限を設ける
e.g. VPN越しのみアクセス可能など
Windows PhoneはVPNができない?DWR-PGをVPNルータにすればいいよ!
意外と聞ける
新東名走っててもほとんど途切れません
とてもいいかんじ
まとめ
できたこと
配信サーバを作った
再生アプリを作った
お風呂と新東名でフィールドテストした
ずっと再生されるのはまるで某Music Unなんとかみたい!
Q&A
ご清聴ありがとうございました
Recommended