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