SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
MediaLibrary	
  で あそぼう	
             伊勢 シン /	
  伊藤 伸裕	
  
                                      	
  
                      2012/02/18(Sat)	
  
       Windows	
  Phone	
  Arch@Nagoya	
  
自己紹介	
•  伊勢 シン	
  
•  Microso@	
  MVP	
  for	
  Device	
  ApplicaGon	
  Development	
  
   (Oct	
  2011-­‐Sep	
  2012)	
  
•  大阪のソフトウェア開発会社で	
  
   スマートフォンアプリ作ってます。	
  
   –  iPhone	
  
   –  Android	
  
   –  Windows	
  Phone	
  
   –  ほか
自己紹介	
•  趣味でもスマートフォンアプリ作ってます	
  
  –  最近はちょっと縮小気味	
  
  –  SongTweeter	
  
  –  宝塚市ごみの日カレンダー	
  
  –  EbIRC	
  
  –  ZEROProxy	
  
•  プラネタリウム好き	
  
  –  今日はせっかく名古屋に来たのに行程の都合上	
  
     名古屋市立科学館いけなくて涙目…
おしながき	
•    MediaLibrary	
  をつかう	
  
•    音楽の一覧を取得する	
  
•    音楽を再生する	
  
•    音楽の再生状態を取得する	
  
•    画像をChooserを使わずに取得する
MediaLibrary	
•  Windows	
  Phone	
  に入っているメディアを扱う	
  
   –  Music+Videos	
  Hub	
  に入っている音楽	
  
   –  Pictures	
  Hub	
  に入っている写真	
  
•  Microso@.XNA.Framework	
  を参照に追加	
  
•  Microso@.XNA.Framework.Media.MediaLibrary	
  
   というクラスから使い始める	
  
MediaLibrary
MediaLibraryのデバッグ	
•  MediaLibrary	
  は Zune	
  So@ware	
  接続状態では
   使えない。	
  
•  通常、Windows	
  Phoneのデバッグ中は	
  
   Zune	
  So@wareが起動しているので、	
  
   そのままでは動かせない。	
  
•  Zune	
  So@wareに認識させた後、終了して、	
  
   WPConnect.exe	
  を実行すると、	
  
   Zune	
  So@wareなしでデバッグが実行できる。	
  
音楽の一覧取得	
•  Albums,	
  ArGsts,	
  Songs	
  プロパティに含まれる	
  
  –  アルバムごと	
  
  –  アーティストごと	
  
  –  全曲	
  
•  アルバムのアートワークも取得できる	
  
   var istream = song.GetImageStream();
   if (istream != null)
   {
          
var bi = new BitmapImage();
          
bi.SetSource(istream);
          
albumArt.Source = bi;
   }
音楽を再生する	
•  MediaLibrary	
  からとってきた Song	
  クラスを
   MediaPlayer	
  クラスにいれるだけ。	
  
  –  SongCollecGon	
  クラス (ArGsts.Songs	
  など)	
  も可	
       MediaPlayer.Play(song);
音楽の再生状態取得	
•  MediaPlayer.Queue.CurrentSong	
  などから	
  
   再生している曲をとれる	
  
•  MediaStateChanged,	
  AcGveSongChanged	
  
   といったイベントで状態が変わったことを	
  
   検知できるけど、	
  
   XNAのイベントをそのまま使うと落ちる	
  
  –  XNAのフレーム更新をシミュレートしないといけな
     い
XNAのイベント取得	




hp://d.hatena.ne.jp/iseebi/20110119/p2
XNAのイベントを拾う	
•  IApplicaGonServiceで処理を書く	
  
•  App.xamlに2行書き足す
画像をPickerを使わずに取得	

•  Windows	
  Phone	
  でライブラリの画像を	
  
   取得するのは基本的に PhotoChooserTask
画像をPickerを使わずに取得	

•  Pictures,	
  SavedPictures,	
  RootPictureItem	
  の	
  
   各プロパティから取得する。	
  
    var istream = image.GetThumbnail();
    var bi = new BitmapImage();
    bi.SetSource(istream);
    imageView.Source = bi;
まとめ	
•  ユーザーのデータのうち、	
  
   目と耳に訴えかける情報を使える	
  
   メディアライブラリ。うまくつかおう。	
  
•  XNAのイベントをSilverlightアプリでとるには	
  
   PhoneApplicaGonServiceを作ろう。	
  
MediaLibrary で あそぼう

Más contenido relacionado

Similar a MediaLibrary で あそぼう

わんくま勉強会東京#67 セッション資料
わんくま勉強会東京#67 セッション資料わんくま勉強会東京#67 セッション資料
わんくま勉強会東京#67 セッション資料Kenji Daikoku
 
JUCEを利用したモバイル クロスプラットフォーム開発
JUCEを利用したモバイル クロスプラットフォーム開発JUCEを利用したモバイル クロスプラットフォーム開発
JUCEを利用したモバイル クロスプラットフォーム開発susan335
 
日本Androidの会発表スライド androidのメディア機能の話
日本Androidの会発表スライド androidのメディア機能の話日本Androidの会発表スライド androidのメディア機能の話
日本Androidの会発表スライド androidのメディア機能の話Tatsuya Matsumoto
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたYasuharu Seki
 
EclipseCon NA2016 report
EclipseCon NA2016 reportEclipseCon NA2016 report
EclipseCon NA2016 reportAkira Tanaka
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchShin Ise
 

Similar a MediaLibrary で あそぼう (8)

わんくま勉強会東京#67 セッション資料
わんくま勉強会東京#67 セッション資料わんくま勉強会東京#67 セッション資料
わんくま勉強会東京#67 セッション資料
 
JUCEを利用したモバイル クロスプラットフォーム開発
JUCEを利用したモバイル クロスプラットフォーム開発JUCEを利用したモバイル クロスプラットフォーム開発
JUCEを利用したモバイル クロスプラットフォーム開発
 
日本Androidの会発表スライド androidのメディア機能の話
日本Androidの会発表スライド androidのメディア機能の話日本Androidの会発表スライド androidのメディア機能の話
日本Androidの会発表スライド androidのメディア機能の話
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
Wankuma0402
Wankuma0402Wankuma0402
Wankuma0402
 
Firefox OS アプリ開発
Firefox OS アプリ開発Firefox OS アプリ開発
Firefox OS アプリ開発
 
EclipseCon NA2016 report
EclipseCon NA2016 reportEclipseCon NA2016 report
EclipseCon NA2016 report
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
 

Más de Shin Ise

Cross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCrossCross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCrossShin Ise
 
いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5Shin Ise
 
すまべんLite@関西#4
すまべんLite@関西#4すまべんLite@関西#4
すまべんLite@関西#4Shin Ise
 
すごいHaskell読書会#10
すごいHaskell読書会#10すごいHaskell読書会#10
すごいHaskell読書会#10Shin Ise
 
音声APIを使ってみる
音声APIを使ってみる音声APIを使ってみる
音声APIを使ってみるShin Ise
 
すまべんLite@関西#1
すまべんLite@関西#1すまべんLite@関西#1
すまべんLite@関西#1Shin Ise
 
Xamarin2.0であそぼう
Xamarin2.0であそぼうXamarin2.0であそぼう
Xamarin2.0であそぼうShin Ise
 
CoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low EnergyデバイスCoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low EnergyデバイスShin Ise
 
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」Shin Ise
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive ExtensionsShin Ise
 
本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone Toolkit本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone ToolkitShin Ise
 
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントSocketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントShin Ise
 
Macで使うWindows Phone 7
Macで使うWindows Phone 7Macで使うWindows Phone 7
Macで使うWindows Phone 7Shin Ise
 
iOSのVoiceOver対応開発
iOSのVoiceOver対応開発iOSのVoiceOver対応開発
iOSのVoiceOver対応開発Shin Ise
 
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作るハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作るShin Ise
 
Windows Phone 7 に向けてクラウドを準備
Windows Phone 7 に向けてクラウドを準備Windows Phone 7 に向けてクラウドを準備
Windows Phone 7 に向けてクラウドを準備Shin Ise
 
C#でiPhone開発とか
C#でiPhone開発とかC#でiPhone開発とか
C#でiPhone開発とかShin Ise
 
Bluetoothでつなごう!
Bluetoothでつなごう!Bluetoothでつなごう!
Bluetoothでつなごう!Shin Ise
 
モバイルでIRCを活用する with EbIRC
モバイルでIRCを活用する with EbIRCモバイルでIRCを活用する with EbIRC
モバイルでIRCを活用する with EbIRCShin Ise
 
Windows Mobile用パッケージマネージャ Giraffe の紹介
Windows Mobile用パッケージマネージャ Giraffe の紹介Windows Mobile用パッケージマネージャ Giraffe の紹介
Windows Mobile用パッケージマネージャ Giraffe の紹介Shin Ise
 

Más de Shin Ise (20)

Cross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCrossCross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCross
 
いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5
 
すまべんLite@関西#4
すまべんLite@関西#4すまべんLite@関西#4
すまべんLite@関西#4
 
すごいHaskell読書会#10
すごいHaskell読書会#10すごいHaskell読書会#10
すごいHaskell読書会#10
 
音声APIを使ってみる
音声APIを使ってみる音声APIを使ってみる
音声APIを使ってみる
 
すまべんLite@関西#1
すまべんLite@関西#1すまべんLite@関西#1
すまべんLite@関西#1
 
Xamarin2.0であそぼう
Xamarin2.0であそぼうXamarin2.0であそぼう
Xamarin2.0であそぼう
 
CoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low EnergyデバイスCoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low Energyデバイス
 
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive Extensions
 
本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone Toolkit本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone Toolkit
 
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントSocketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
 
Macで使うWindows Phone 7
Macで使うWindows Phone 7Macで使うWindows Phone 7
Macで使うWindows Phone 7
 
iOSのVoiceOver対応開発
iOSのVoiceOver対応開発iOSのVoiceOver対応開発
iOSのVoiceOver対応開発
 
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作るハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
 
Windows Phone 7 に向けてクラウドを準備
Windows Phone 7 に向けてクラウドを準備Windows Phone 7 に向けてクラウドを準備
Windows Phone 7 に向けてクラウドを準備
 
C#でiPhone開発とか
C#でiPhone開発とかC#でiPhone開発とか
C#でiPhone開発とか
 
Bluetoothでつなごう!
Bluetoothでつなごう!Bluetoothでつなごう!
Bluetoothでつなごう!
 
モバイルでIRCを活用する with EbIRC
モバイルでIRCを活用する with EbIRCモバイルでIRCを活用する with EbIRC
モバイルでIRCを活用する with EbIRC
 
Windows Mobile用パッケージマネージャ Giraffe の紹介
Windows Mobile用パッケージマネージャ Giraffe の紹介Windows Mobile用パッケージマネージャ Giraffe の紹介
Windows Mobile用パッケージマネージャ Giraffe の紹介
 

MediaLibrary で あそぼう