视频播放列表的 uwp 文件访问权限扩展

uwp file access permission extension for video playlists

我知道 uwp 文件访问权限的所有规则。我也知道 MostRecentlyUsedList 和 FutureAccessList(1000 限制)。

我正在开发一个视频播放器应用程序,我需要在其中创建视频播放列表

我试着用 PlayList class 来做,只要播放列表中包含的视频文件来自 [=82],它就可以工作=] 因此可以通过应用程序访问。

如果其中一个文件(由用户选择然后保存在播放列表中)来自视频库中未包含的文件夹,那么当我尝试 Playlist.LoadAsync (StorageFile) 我得到一个异常 Access Denied //StorageFile 这里是 .wpl 文件,或者我应该说已保存播放列表文件。

PlaylistFile 实际上在 VideoLibrary 中,因此应用程序可以直接访问它,因此它可以正常加载并保存到 StorageFile对象正常,但是当我将该对象提供给Playlist.LoadAsync时,访问被拒绝,因为那个[=32=中的视频文件]playlist 在视频库之外,当我的用户使用 fileopenpicker.

选择它时

所以

1. 我想知道解决方案是什么,因为我想包含视频库中的所有视频文件以及用户 selected 的所有文件过去,播放列表可用和使用。

2. 我可以使用 futureaccesslist 为我的应用程序创建历史记录,但是可以使用它们 (令牌) 在播放列表 class 中?我想不是。因为它只接受 存储文件集合 甚至如果我可以使用某种数据库方法来实现播放列表功能futureaccesslist 代币,是的,我可以做到,但它仍然有 1000

的限制

总结: 我需要一种干净的方式,这样我就可以使用我用户系统上存在的所有视频文件,供他播放、添加到历史记录并与播放列表和东西。不限制 1000.

提前致谢。

**注意:**也许我可以通过提示用户 select 他们的整个 PC/Root 目录来访问整个系统来做到这一点?但我认为这也不是一个好方法,因为我的 uwp 应用程序支持所有 windows 10 台设备上的 运行。

I can use futureaccesslist to create history for my app ofcourse, but can they be used (tokens) in Playlist class?

当我们将文件添加到FutureAccessList时,我们就不需要使用PlayList中的token了。它可以通过 Playlist.LoadAsync 读取文件并且不会抛出 Access Denied.

如您所知,此列表最多可存储 1000 个项目,并且必须由应用维护。如果要访问超过 1000 个文件,则应将文件复制到所有应用程序都可以访问的位置。例如 VideosLibrary,您可以 File access permissions.