adinan-cenci / radio-browser
一个从 radio-browser.info 目录获取电台的库。
Requires
- php: >=7.0
- guzzlehttp/guzzle: ^7.4
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