pbxg33k / music-info
结合多个音乐相关API服务的功能,获取您音乐的完整信息
Requires
- php: ^5.6|^7.0
- doctrine/collections: ^1.3
- guzzlehttp/guzzle: ^6.0
- guzzlehttp/psr7: ^1.4
- jwilsson/spotify-web-api-php: ^1.3
- pbxg33k/musicbrainz: ^0.3.0
- pbxg33k/pbxg33k-traits: ^1.0
- pbxg33k/vocadb: ^0.1.3.2
- symfony/config: ^2.8|^3.0
- symfony/console: ^2.8|^3.1
- symfony/dependency-injection: ^2.8|^3.1
- symfony/http-foundation: ^2.8|^3.1
- symfony/http-kernel: ^2.8|^3.1
- symfony/yaml: ^2.8|^3.0
Requires (Dev)
- phpunit/phpunit: ^5.7
- satooshi/php-coveralls: ^1.0
- symfony/debug: ^3.2
- dev-develop
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
- dev-dependabot/composer/guzzlehttp/psr7-1.9.1
- dev-dependabot/composer/guzzlehttp/guzzle-6.5.8
- dev-dependabot/composer/pdepend/pdepend-2.10.0
- dev-dependabot/add-v2-config-file
- dev-dependabot/composer/squizlabs/php_codesniffer-3.6.0
- dev-dependabot/composer/guzzlehttp/guzzle-6.5.5
- dev-dependabot/composer/symfony/http-foundation-3.4.47
- dev-dependabot/composer/symfony/http-kernel-3.2.14
- dev-dependabot/composer/symfony/dependency-injection-3.2.14
- dev-dependabot/composer/phploc/phploc-4.0.1
- dev-dependabot/composer/symfony/console-3.2.14
- dev-dependabot/composer/phpunit/phpunit-5.7.27
- dev-dependabot/composer/jwilsson/spotify-web-api-php-2.12.0
- dev-master
- dev-feature/spotify
- dev-feature/musicbrainz
- dev-feature/cache
This package is auto-updated.
Last update: 2024-09-19 21:25:55 UTC
README
MusicInfo 库
这个PHP库允许您将多个音乐相关API服务结合起来,查找音乐信息。请参阅支持的服务,查看哪些服务受到支持。
要求
为了使用此库,您的环境必须满足以下标准
- PHP 5.6(或更高版本)
- curl 扩展
安装
使用Composer(推荐)
将music-info包添加到您的composer.json
文件中。
{ "require": { "pbxg33k/music-info": "dev-master" } }
或者在项目安装根目录下的命令行中。
$ composer require "pbxg33k/music-info"
这将安装最新稳定版本。
要尝试最新功能,请将版本添加为 在此开发阶段,master-dev将包含直到1.0.0发布前的最新稳定开发版本master-dev
。但请注意,此分支不稳定,不适用于生产使用。
不使用composer
- 将此存储库作为zip文件下载。
- 将zip文件内容提取到您的应用程序目录中。
- 将文件添加到您的项目中
- 如果您的自动加载器兼容PSR-4,将
pbxg33k/music-info
映射到此目录 - 如果您的项目启动中没有自动加载器或您的自动加载器不兼容PSR-4,请将
autoloader.php
包含到项目中
- 如果您的自动加载器兼容PSR-4,将
配置
music_info: init_services: false ## Automatically initialize services on load services: - VocaDB - Spotify # - Discogs # - MusicBrainz preferred_order: - Spotify - VocaDB # - MusicBrainz # Give a weight per service # This will be used to *guess* the correct # value if multiple services return different values service_weight: - { service: VocaDB, weigth: 10 } - { service: Spotify, weight: 20 } guzzle: proxy: null # General config shared across services # Mainly Guzzle defaults: guzzle: http: user_agent: 'your-app-name/0.0.1 +https://www.myawsomesite.com' service_configuration: # Service Specific config vocadb: language: Default # default, japanese, romaji, english start: 0 max_entries: 10 get_total_count: false name_match_mode: partials # auto, partial, exact, starts_with, words spotify: client_id: null # required for Spotify client_secret: null # required for Spotify redirect_uri: null scopes: - playlist-read-private - user-read-private discogs: throttle: true musicbrainz: application_name: PHPMusicInfo application_version: 0.0.1 application_url: https://www.github.com/PBXg33k/php-music-info
服务
添加自定义服务
当添加自定义服务时,请确保服务文件实现了IMusicService接口,或者更好的是,扩展了Pbxg33k\MusicInfo\Service\BaseService
抽象类。抽象类提供了一些基本逻辑,并与该库提供了更好的兼容性。
当您的服务代码符合规范时,您可以简单地通过调用MusicInfo->addService(IMusicService $service, string $key)
来注册它。在注册时,请确保键未被使用,使用已注册的键将覆盖并替换它。
变更日志
请参阅CHANGELOG.md
待办事项
请参阅TODO.md
许可证
版权所有 (c) 2016-2017 Oguzhan Uysal。本程序是自由软件:您可以自由分发和/或修改它,前提是您必须遵守自由软件基金会发布的GNU通用公共许可证的条款,无论是许可证的第3版,还是(根据您的选择)任何较新版本的许可证。
本程序分发时附带“按原样”保证,没有任何形式的保证,既无明示保证也无暗示保证,包括但不限于适销性、适用于特定用途和版权无侵犯的保证。有关详细信息,请参阅GNU通用公共许可证。
您应该已经收到了与该程序一起提供的GNU通用公共许可证副本。如果没有,请参阅https://gnu.ac.cn/licenses/。
本软件按“原样”提供,没有任何形式的保证,既无明示保证也无暗示保证,包括但不限于适销性、适用于特定用途和版权无侵犯的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是因合同、侵权或其他方式引起的,无论这些索赔、损害或其他责任是否与软件或其使用或其他方式有关。