0

我是应用程序开发领域的新手,我正在为 Windows Phone 构建音乐播放器。问题是当我尝试将本地音乐库中的音乐导入我的应用程序时。

我有一个 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));
            }
        }

运行应用程序并触摸播放按钮时,预设音乐播放正常,但当我触摸导入按钮时应用程序崩溃。知道这里有什么问题吗?

附言。抱歉英语不好。

4

1 回答 1

0

Windows Phone BackgroundAudioPlayerAPI 早于 WinRT StorageFolderAPI,因此它不适用于这些类型的文件(但仍可用于反向兼容)。BackgroundAudioPlayer(因此AudioTrack)旨在播放本地隔离存储文件夹中的 HTTP URL 和文件。有关详细信息,请参阅此 MSDN 演练

请注意,您也不能使用基于 XNA 的MediaLibraryAPI 来实现您自己的背景音频播放器。假设用户将使用内置的音乐播放器来播放这些文件。

于 2014-12-08T00:01:42.153 回答