某Music unなんとか

481 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
481
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

某Music unなんとか

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

×