minidlna 可以播放随机曲目吗?

minidlna 可以播放随机曲目吗?

我将音乐保存在小型 NAS 上,其中包含 minidlna 版本,并且我通过 UPnP 收听。我的客户端将播放专辑、艺术家和播放列表等。我无法升级服务器或客户端,也无法使用任何其他传输或协议。

我希望能够每天播放随机选择的音乐,但服务器和客户端都没有此功能。我怎样才能最好地实现这一目标?

答案1

Minidlna 将数据存储在任何用户都可以直接访问的 sqlite 表中。使用已安装的sqlite3应用程序和合适的 SQL 查询可以生成一个简单的 m3u 播放列表,该列表又可以由 minidlna 扫描。

例如:

sqlite3 -list /tmp/minidlna/files.db "select path from details where track>0 order by random() limit 1000" > /home/user/music/random\ playlist.m3u

我需要-list避免文件名周围的引号,并track>0过滤掉不引用音轨的记录,尽管可能有更强大的方法来做到这一点。

如果生成的 m3u 播放列表文件位于 minidlna 扫描的目录中,它将通过 inotify 拾取并自动提供服务。

这种方法可以开发为仅包括特定类型或其他标准,从而有效地添加“智能播放列表”功能。

将此命令添加到具有音乐目录写入权限的用户的 crontab 中,以便每天/每小时运行。缺点是我的 nas 在重新启动时会丢失 crontab,但这种情况很少见。

不同的 minidlna 安装可能会将数据保存在 /var 中。

相关内容