在App中讀取Windows Phone 7手機內的音樂資源(Music Hub整合)
前陣子WP7 Marketplace當中有一隻HTC推出的免費App挺有趣,可以在App當中抓取顯示並撥放手機上的多媒體資源,諸如音樂檔案或是影片,先前我們在討論Silverlight開發技術的時候,並沒有看到API裡面有可以抓取到手機音樂的指令,第一次看到的時候著時讓我有些好奇,找了一下MSDN資料發現難怪之前沒看到,原來是出現在XNA這個Namespace底下。 我們可以透過底下的指令找到手機上的所有多媒體檔案: void MainPage_Loaded(object sender, RoutedEventArgs e) { //透過Xna抓取手機上的音樂 Microsoft.Xna.Framework.Media.MediaLibrary lib = new Microsoft.Xna.Framework.Media.MediaLibrary(); //Binding到ListBox上 this.ListBox1.ItemsSource = lib.Songs; } 當然,由於屬於XNA Framework的部分,請在使用前先在專案中Add Reference: 加入 Microsoft.Xna.framework ,接著即可使用前述的指令碼抓取到資料,如果你要像上述程式碼一樣把樂曲 Binding 到 ListBox 物件上,必須先幫 ListBox 設計 Template : 然後將此Template使用在ListBox上: 如此一來就可以在自己開發的App中,呈現出手機上呈現出每一首歌的名稱,以及演唱者與專輯名稱: 由於Silverlight的DataBinding技術,在listBox當中每一首點選的曲子,可透過底下的方式抓取到,甚至可以透過底下的程式碼,撥放選取的Item: private void button1_Click(object sender, RoutedEventArgs e) { if (this.ListBox1.SelectedItem == null) return; //取得選取的樂曲 Microsoft.Xna.Framewo