尝试在 WP 8.1 应用程序上获取 MusicLibrary 时,出现以下错误。我使用下面的方法。过去几周工作正常,突然出现以下错误:
Error HRESULT E_FAIL has been returned from a call to a COM component [System.Runtime.InteropServices.COMException] = {System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.}
不工作
static IReadOnlyList<StorageFile> files;
files = await KnownFolders.MusicLibrary.GetFilesAsync(CommonFileQuery.OrderByName);
但是,代码在没有 CommonFileQuery 的情况下也可以工作。但它只获取根目录中的文件。
工作
static IReadOnlyList<StorageFile> files;
files = await KnownFolders.MusicLibrary.GetFilesAsync();
这发生在更新 Xbox 音乐应用程序后。有谁知道出了什么问题吗?
最佳答案
使用 CommonXXXQuery 查询的 api 中存在错误。
看这里: OrderByName error
这里: GroupByArtist/GroupByAlbum error
对于文件,不要使用 OrderByName,而使用
musicLibrary.GetFoldersAsync(),然后在文件夹上 GetFilesAsync() 并在子文件夹上递归。
对于艺术家/专辑分组,也不要使用查询。到目前为止,我还没有找到解决方法,因为由于我无法在我的设备上重现此错误,所以我只能猜测,到目前为止还没有成功。
编辑:重新阅读您的帖子“更新 Xbox 音乐应用程序后就发生了这种情况”。这是这里的关键。 MS 没有任何消息,但我的猜测是 xbox 音乐应用程序可以访问 api 来索引音频文件,但在某些时候索引会损坏。
关于c# - 获取 MusicLibrary 时 Windows Phone 8.1 应用商店应用程序出错(调用 COM 组件已返回错误 HRESULT E_FAIL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24559685/