0

Trying to excess Music folder on windows phone app 8.1 but getting following Exception:

System.Reflection.TargetInvocationException was unhandled Message: An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in System.Windows.ni.dll Additional information: Exception has been thrown by the target of an invocation.

Here is the code: Calling

try
{
    GetFiles();
}
catch (Exception ex)
{
    Debug.WriteLine(ex.Message);
}

private async void GetFiles()
{
    StorageFolder folder = KnownFolders.MusicLibrary;
    IReadOnlyList<StorageFile> listOfFiles;
    if (folder!=null)
    {
        listOfFiles =await folder.GetFilesAsync(); //this line casuing Debugger.break();
    }
}
4

2 回答 2

2

在 package.appmanifest 文件中添加音乐库功能

然后试试这段代码。它对我有用

    StorageFolder folder = KnownFolders.MusicLibrary;
    if (folder!=null)
    {
       var songs = (await   folder.GetFilesAsync(Windows.Storage.Search.CommonFileQuery.OrderByName)).ToList();
    }

链接到示例代码

于 2016-05-06T05:39:27.977 回答
0

尝试这个。

在Windows 8.1 Universal上完美运行

            FileOpenPicker openPicker = new FileOpenPicker();
            openPicker.ViewMode = PickerViewMode.Thumbnail;
            openPicker.SuggestedStartLocation = PickerLocationId.MusicLibrary;
            openPicker.FileTypeFilter.Add(".mp3");
            openPicker.FileTypeFilter.Add(".wav");
            openPicker.FileTypeFilter.Add(".mp4");

            var file = await openPicker.PickSingleFileAsync();

            try
            {
                var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
                playbackElement3.SetSource(stream, file.ContentType);//Play Selected

                playbackElement3.Play();

            }
            catch (Exception ex)
            {

            }

然后尝试从源中获取列表

于 2016-05-05T17:12:04.183 回答