lanarea/splrequest

此软件包已被弃用且不再维护。没有推荐替代软件包。

用于Station Playlist的干净请求脚本

dev-master 2019-10-28 21:39 UTC

This package is auto-updated.

Last update: 2022-08-29 01:31:16 UTC


README

[已弃用] 已迁移至 OrigamiVision/StationPlaylist

Join the chat at https://gitter.im/LANarea/SPLRequest

SPLRequest 是一个非常小的PHP库,能够与StationPlaylist Studio连接,加载所有可用的歌曲库,甚至可以向服务器发送实时歌曲请求。

您可以从我们的 GitHub 仓库 获取最新版本,或者通过Composer安装它

composer require lanarea/splrequest

或者手动将其添加到 composer.json

{
    "require": {
        "lanarea/splrequest": "dev-master"
    }
}

准备

在使用此脚本之前,需要应用一些(本地)设置

  • 打开 StationPlaylist Studio

  • 打开选项窗口(Ctrl+O 或查看 > 选项)

  • 启用与SPL的外部连接

    • 在左侧,选择名为“通讯”的标签页
    • 设置到 StationPlaylist Studio 的TCP连接端口
    • 据我所知,您不需要设置“发送响应”的值
    • 可选,但最好是设置IP限制(与脚本运行在同一IP上)
    • 可能:将之前提到的端口转发,使其可通过您的公共IP访问。此选项可在路由器设置中找到或通过您的ISP
  • 设置要公开的目录

    • 在左侧,选择名为“文件夹位置”的标签页
    • 位于“搜索文件夹”标签旁边的输入框包含此脚本可以浏览的文件夹
    • 不要忘记勾选“包括子文件夹”的复选框

用法

自动加载或包含类,并启用命名空间以使用该类

use LANarea\SPLRequest;

创建一个新的SPLRequest对象,包含IP地址/主机名和TCP端口

$spl = new SPLRequest('0.0.0.0', 0);

通过getAllSongs()方法获取所有可用歌曲

$results = $spl->getAllSongs(); // returns an array of all songs

上述等同于以下

$results = $spl->search('*');

可能受“通讯”标签页下的“最大搜索结果”设置的影响。

搜索歌曲

  • 使用 * 作为通配符操作符(例如,“Avril*”表示以“Avril”开头的所有歌曲)
  • 使用 | 作为查询的结尾(例如,“A*|”表示以A开头的所有歌曲列表)
$results = $spl->search('Avril Lavigne*'); // returns an array, or false

提示:用通配符操作符包围所有查询,例如,“*Elvis*”

进行歌曲请求

$spl->doRequest('C:/path/to/music - file.mp3'); // returns true or false

或者您还可以添加更多有用的信息

$spl->doRequest('C:/path/to/music - file.mp3', 'John Doe', 'Brussels, Belgium');

查看example.php文件获取免费示例。

注意

您必须实现自己的请求限制、缓存等。

使用此软件包,您只能处理我们能够从SPL获取和发送的数据。

已知问题

  • 特殊符号如 é、ä、û;会显示为问号。可能是编码问题。 [自5.20版本以来为UTF-8输出]

许可证

该软件包采用新BSD许可证。