MediaLibrary で あそぼう

983 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
983
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

MediaLibrary で あそぼう

  1. 1. MediaLibrary  で あそぼう 伊勢 シン /  伊藤 伸裕     2012/02/18(Sat)   Windows  Phone  Arch@Nagoya  
  2. 2. 自己紹介 •  伊勢 シン  •  Microso@  MVP  for  Device  ApplicaGon  Development   (Oct  2011-­‐Sep  2012)  •  大阪のソフトウェア開発会社で   スマートフォンアプリ作ってます。   –  iPhone   –  Android   –  Windows  Phone   –  ほか
  3. 3. 自己紹介 •  趣味でもスマートフォンアプリ作ってます   –  最近はちょっと縮小気味   –  SongTweeter   –  宝塚市ごみの日カレンダー   –  EbIRC   –  ZEROProxy  •  プラネタリウム好き   –  今日はせっかく名古屋に来たのに行程の都合上   名古屋市立科学館いけなくて涙目…
  4. 4. おしながき •  MediaLibrary  をつかう  •  音楽の一覧を取得する  •  音楽を再生する  •  音楽の再生状態を取得する  •  画像をChooserを使わずに取得する
  5. 5. MediaLibrary •  Windows  Phone  に入っているメディアを扱う   –  Music+Videos  Hub  に入っている音楽   –  Pictures  Hub  に入っている写真  •  Microso@.XNA.Framework  を参照に追加  •  Microso@.XNA.Framework.Media.MediaLibrary   というクラスから使い始める  
  6. 6. MediaLibrary
  7. 7. MediaLibraryのデバッグ •  MediaLibrary  は Zune  So@ware  接続状態では 使えない。  •  通常、Windows  Phoneのデバッグ中は   Zune  So@wareが起動しているので、   そのままでは動かせない。  •  Zune  So@wareに認識させた後、終了して、   WPConnect.exe  を実行すると、   Zune  So@wareなしでデバッグが実行できる。  
  8. 8. 音楽の一覧取得 •  Albums,  ArGsts,  Songs  プロパティに含まれる   –  アルバムごと   –  アーティストごと   –  全曲  •  アルバムのアートワークも取得できる   var istream = song.GetImageStream(); if (istream != null) { var bi = new BitmapImage(); bi.SetSource(istream); albumArt.Source = bi; }
  9. 9. 音楽を再生する •  MediaLibrary  からとってきた Song  クラスを MediaPlayer  クラスにいれるだけ。   –  SongCollecGon  クラス (ArGsts.Songs  など)  も可 MediaPlayer.Play(song);
  10. 10. 音楽の再生状態取得 •  MediaPlayer.Queue.CurrentSong  などから   再生している曲をとれる  •  MediaStateChanged,  AcGveSongChanged   といったイベントで状態が変わったことを   検知できるけど、   XNAのイベントをそのまま使うと落ちる   –  XNAのフレーム更新をシミュレートしないといけな い
  11. 11. XNAのイベント取得 hp://d.hatena.ne.jp/iseebi/20110119/p2
  12. 12. XNAのイベントを拾う •  IApplicaGonServiceで処理を書く  •  App.xamlに2行書き足す
  13. 13. 画像をPickerを使わずに取得 •  Windows  Phone  でライブラリの画像を   取得するのは基本的に PhotoChooserTask
  14. 14. 画像をPickerを使わずに取得 •  Pictures,  SavedPictures,  RootPictureItem  の   各プロパティから取得する。   var istream = image.GetThumbnail(); var bi = new BitmapImage(); bi.SetSource(istream); imageView.Source = bi;
  15. 15. まとめ •  ユーザーのデータのうち、   目と耳に訴えかける情報を使える   メディアライブラリ。うまくつかおう。  •  XNAのイベントをSilverlightアプリでとるには   PhoneApplicaGonServiceを作ろう。  

×