访问音乐文件 UWP -KnownFolders.MusicLibrary.GetItemsAsync() 不返回任何内容 [英] Access music files UWP -KnownFolders.MusicLibrary.GetItemsAsync() doesnt return anything

查看:25
本文介绍了访问音乐文件 UWP -KnownFolders.MusicLibrary.GetItemsAsync() 不返回任何内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嘿,我有以下内容:

 var fileList = await KnownFolders.MusicLibrary.GetItemsAsync();

它不返回任何文件,我在 Music 文件夹中有文件.我也有:

It doesn't return any files and i have files in the Music folder. I also have :

<Capabilities>
<Capability Name="internetClient" />
<Capability Name="removableStorage" />
<Capability Name="documentsLibrary" />
<Capability Name="MusicLibrary" />
<Capability Name="HomeGroup" />
<Capability Name="RemovableDevices" />

我不知道为什么它不返回任何文件/异常?有什么建议 ?我也尝试过 FolderPicker 来获取文件夹中的所有文件,但结果相同.

I dont know why it doesnt return any files/ exception ? Any suggestions ? I also tried FolderPicker to get all files in a folder , but same result.

推荐答案

根据您发布的代码,您似乎使用了错误的功能.

Form the code you've posted, it seems you are using wrong capabilities.

当您在应用的包清单中声明 musicLibrary 功能时,它必须包含 uap 命名空间,如下所示.

The musicLibrary capability must include the uap namespace when you declare it in your app's package manifest as shown below.

<Capabilities><uap:Capability Name="musicLibrary"/></Capabilities>

有关详细信息,请参阅应用功能声明.

For more info, please see App capability declarations.

所以你可以像下面这样修改你的Package.appxmanifest:

So you can chane your Package.appxmanifest like the following:

<Capabilities>
  <Capability Name="internetClient" />
  <uap:Capability Name="removableStorage" />
  <uap:Capability Name="musicLibrary" />
  <uap:Capability Name="documentsLibrary" />
</Capabilities>

然后您应该能够获取音乐库中的文件和子文件夹.

And then you should be able to get the files and subfolders in the music library.

var fileList = await KnownFolders.MusicLibrary.GetItemsAsync();
if (fileList.Count > 0)
{
    foreach (var item in fileList)
    {
        Debug.WriteLine(item.Name);
    }
}

音乐库通常具有以下路径.

The Music Library typically has the following path.

%USERPROFILE%\Music

您可以检查此路径下是否有文件.您也可以使用以下代码检查路径.

You can check if you have files under this path. And also you can check the path with the following code.

var musicLibrary = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Music);
Debug.WriteLine(musicLibrary.SaveFolder.Path);

这将输出已知文件夹的路径,该文件夹是库中默认保存新文件的文件夹.有关详细信息,请参阅此答案.

This will output the path of the known folder, which is the folder in a library where new files are saved by default. For more info, please see this answer.

这篇关于访问音乐文件 UWP -KnownFolders.MusicLibrary.GetItemsAsync() 不返回任何内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆