c# - 获取 MusicLibrary 时 Windows Phone 8.1 应用商店应用程序出错(调用 COM 组件已返回错误 HRESULT E_FAIL)

标签 c# windows-phone windows-store-apps winrt-xaml windows-phone-8.1

尝试在 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/

相关文章:

windows-phone-8 - 使用照片捕获设备捕获照片时方向错误

javascript - 从 WinJS.xhr 响应获取 URL

c# - 处理这两个依赖于另一个的异步方法的最佳方法是什么?

c# - 使用 kernel32.dll 中的 GetPrivateProfileString

c# - VSTO(文档级): Individual context menu in Excel (right click menu)

c# - 如何在全景 View 中的列表框中快速加载数据?

c# - 如何为 Webclient 开启自动重定向

jQuery.append、类型输入和 Windows 应用商店应用程序 (HTML/CSS/JS)

c# - 当应用程序在 WP 8.1 商店应用程序中恢复时,应用程序恢复事件不会触发

c# - 如何使用 WinForms 数据绑定(bind)正确触发 UserControl 中值的更改?