0

我是新來的應用程序開發人員,我正在爲Windows Phone構建音樂播放器。 問題是,當我嘗試從本地音樂庫中導入音樂到我的應用程序。將音樂文件添加到AudioTrack列表時出錯 - WP8

我有一個AudioPlaybackAgent和它將播放的音樂列表。 這裏的名單:

public static List<AudioTrack> _playList = new List<AudioTrack> 
     { 
      new AudioTrack(new Uri("Chama os Mulekes.mp3", UriKind.Relative), 
        "Chama os Mulekes", 
        "ConeCrewDiretoria", 
        "Com os Neurônios Evoluindo", 
        new Uri("https://lh6.googleusercontent.com/-_d2oha1QzNM/UhjYxv3XsLI/AAAAAAAAAWk/QyWgG7ilTAs/s0-d/Cone-Crew-Diretoria-Com-os-neuronios-evoluindo.jpg", UriKind.Absolute)) 
     }; 

我添加了一個按鈕,單擊時它導入本地音樂庫文件,該播放列表的接口。下面的代碼:

private async void ImportButton_Click(object sender, RoutedEventArgs e) 
     { 
      var musicLibrary = await KnownFolders.MusicLibrary.GetFilesAsync(); 
      foreach (StorageFile _file in musicLibrary) 
      { 
       var musicTags = await _file.Properties.GetMusicPropertiesAsync(); 
       MusicPlusAgent.AudioPlayer._playList.Add 
        (new AudioTrack (new Uri(_file.Path, UriKind.RelativeOrAbsolute), 
         musicTags.Title, 
         musicTags.Artist, 
         musicTags.Album, 
         null)); 
      } 
     } 

當運行應用程序,並觸摸回放鍵時,預設音樂播放很好,但是當我觸摸導入按鈕的應用程序崩潰。 這裏有什麼不對嗎?

詩篇。對不起,英文不好。

回答

0

Windows Phone BackgroundAudioPlayer API是WinRT StorageFolder API的預發佈日期,因此它不適用於這些類型的文件(但仍可用於反向壓縮)。 BackgroundAudioPlayer(因此AudioTrack)旨在播放本地獨立存儲文件夾中的HTTP URL和文件。有關更多信息,請參見this MSDN walkthrough

請注意,您不能使用基於XNA的MediaLibrary API來實現自己的背景音頻播放器。假定用戶將使用內置音樂播放器來播放這些文件。

+0

感謝您的回答。我爲WP8.1重寫了這個應用程序,因爲它可以更加實用。 – 2014-12-13 16:18:43