adinan-cenci/radio-browser

一个从 radio-browser.info 目录获取电台的库。

2.1.0 2022-03-05 12:11 UTC

This package is auto-updated.

Last update: 2024-09-05 17:48:38 UTC


README

使用项目 API radio-browser.info 从互联网电台目录 radio-browser.info 获取数据的库。

use \AdinanCenci\RadioBrowser\RadioBrowser;

$browser          = new RadioBrowser();
$tag              = 'metal';
$orderBy          = 'name';
$descendingOrder  = true;

$stations         = $browser->getStationsByTag($tag, $orderBy, $descendingOrder);

print_r($stations);



示例

请参阅 "examples" 目录中的使用示例。



类和实例化

关联数组 / 对象

根据构造函数中提供的 $associative 参数,\AdinanCenci\RadioBrowser\RadioBrowser 的方法将返回关联数组或 stdObjects。



Xml, json, csv 等...

如果您需要以特定格式表示数据,请使用 \AdinanCenci\RadioBrowser\RarioBrowserApi。不同的方法将返回以下格式的数据:json, xml, csv, m3u, pls, xspf 和 ttl。



电台

按 UUID 获取电台

::getStationsByUuid($uuids) 搜索具有指定 ID 的电台。



按 URL 获取电台

::getStationsByUrl($url) 方法通过网页搜索电台。



按点击量获取电台

::getStationsByClicks($offset, $limit, $hideBroken) 方法返回最热门的电台。



按投票数获取电台

::getStationsByVotes($offset, $limit, $hideBroken) 方法返回最受欢迎的电台。



获取最近点击的电台

::getStationsByRecentClicks($offset, $limit, $hideBroken) 方法返回当前最受欢迎的电台。



获取最近更新的电台

::getStationsByLastChange($offset, $limit, $hideBroken) 方法返回最近更新的电台。



获取旧版本电台

::getStationOlderVersions($lastChangeUuid, $limit) 方法返回过去 30 天内的电台旧版本。



获取损坏的电台

::getBrokenStations($offset, $limit) 方法返回未通过连接测试的电台。



按 ... 获取电台

本节中所有方法共享以下参数



仅获取所有电台

::getStations($order, $reverse, $hideBroken, $offset, $limit) 方法将返回所有电台。



按名称获取电台

::getStationsByName($name, $order, $reverse, $hideBroken, $offset, $limit) 方法返回描述为 $name 的电台。



按精确名称获取电台

::getStationsByExactName($name, $order, $rev... 方法返回与 $name 精确匹配的电台。



按编解码器获取电台

::getStationsByCodec($codec, $order, $rev... 方法返回描述为 $codec 的电台。



按精确编解码器获取电台

::getStationsByExactCodec($codec, $order, $rev... 方法返回与 $codec 精确匹配的电台。



按国家获取电台

::getStationsByCountry($country, $order, $rev...



按精确国家获取电台

::getStationsByExactCountry($country, $order, $rev...



按州获取电台

::getStationsByState($state, $order, $rev...



按精确州获取电台

::getStationsByExactState($state, $order, $rev...



按语言获取电台

::getStationsByLanguage($language, $order, $rev...



按精确语言获取电台

::getStationsByExactLanguage($language, $order, $rev....



按标签获取电台

::getStationsByTag($tag, $order, $rev...



按精确标签获取电台

::getStationsByExactTag($tag, $order, $rev...



搜索电台

方法 ::searchStation($searchTerms) 允许我们细化搜索。它接收一个关联数组,其中包含以下键,所有键都是可选的:



获取站检信息

方法 ::getStationCheckResults($stationUuid, $lastCheckUuid, $seconds, $limit) 返回站检结果列表。如果提供了站UUID,则返回整个历史记录,否则发送所有站的最后检查列表(不包括更早的检查结果)。



获取站点击量

方法 ::getStationClicks($stationUuid, $lastCheckUuid, $seconds) 返回站点击量列表。如果提供了站UUID,则只返回该站的点击量,否则发送所有站的点击量列表(chunksize 10000)。



添加站

方法 ::addStation($name, $url, $homePage, $favIcon, $countryCode, $state, $language, $tags, $geoLat, $geoLong) 允许我们插入新站。

它接收一个关联数组,其中包含以下键,所有键都是可选的:



排名

听众

每次用户开始播放流时,必须调用 ::clickStation($stationUuid) 方法,这有助于Radio Browser对每个站的流行程度进行排序。 重要:来自同一IP地址和同一站的每次调用每天只计数一次。

投票

方法 ::voteStation($stationUuid) 将投票数增加1。 重要:它只能从同一IP地址为同一广播站调用一次,每次调用间隔10分钟。



一般信息

以下方法共享以下参数:

获取编解码器

方法 ::getCodecs($filter, $order, $reverse, $hideBroken) 返回编解码器列表以及使用它们的站的数量。



获取语言

方法 ::getLanguages($filter, $ord...) 返回语言列表以及使用该语言的站的数量。



获取标签

方法 ::getTags($filter, $ord...) 返回标签列表以及使用这些标签描述的站的数量。



获取国家代码

方法 ::getCountryCodes($filter, $ord...) 返回国家代码列表以及使用这些代码描述的站的数量。



获取国家

方法 ::getCountries($filter, $ord...) 返回国家列表以及使用这些国家描述的站的数量。



获取状态

方法 ::getStates($filter, $country, $order, $reverse, $hideBroken) 返回州列表以及使用这些州描述的站的数量。



服务器

获取服务器的统计信息

::getServerStats()



获取服务器的镜像

::getServerMirrors()



获取服务器的配置

::getServerConfig()



获取服务器的度量

::getServerMetrics()



获取DNS记录

静态方法 ::getDnsRecords() 返回可用服务器的DNS信息。



获取服务器IP

静态方法 ::getServerIps() 返回可用服务器的IP数组。



获取服务器

静态方法 ::getServers() 返回可用服务器的URL数组。



选择服务器

静态方法 ::pickAServer() 返回随机服务器的URL。



安装

使用composer。

composer require adinan-cenci/radio-browser



许可证

MIT