我正在寻找一种方法来浏览我的 DLNA 服务器,但我似乎找不到任何有关如何浏览和过滤特定项目的文档。简而言之,这就是我想要做的:获取服务器上的所有音乐艺术家,获取服务器上的所有音乐专辑,获取音乐艺术家的所有音乐专辑,获取特定专辑的所有音乐曲目。这可能吗?
我知道我可以简单地构建一个文件目录浏览器来浏览服务器,但我正在研究一些试图让用户模糊文件系统布局的东西。那里有我可以使用的 DLNA 规范吗?
DLNA 服务器公开的文件夹结构不必(通常也不必)映射到文件系统上的实际文件夹结构。
例如,“获取服务器上的所有音乐艺术家”,您可以公开一个名为“艺术家”的虚拟文件夹(容器),该容器的子级是艺术家的列表。
如何实施?例如,某些 DLNA 服务器有一个数据库来存储导入文件的所有元信息。当服务器导入文件系统上的文件时,它会解析文件以获取元数据,例如艺术家、专辑、流派……当最终用户向孩子请求您的“艺术家”容器时,DLNA 服务器将在数据库中进行搜索并获取结果.
基本上,我默认使用“搜索”UPnP-ContentDirectory 操作。当它工作时,它工作得很好,但问题是大多数服务器没有实现简单的搜索功能,因为它是not required by the UPnP specification
,这当然是有史以来最蹩脚的事情。欢迎来到 UPnP 的世界。