- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 Musicbrainz 获取歌曲的首次发行日期。为此,我使用了 mikealmond musicBrainz 库。
我遇到的问题是,当我尝试执行与本示例 (https://github.com/mikealmond/MusicBrainz/blob/master/examples/first-recording-search.php) 完全相同的代码时,我总是遇到身份验证错误。
Client error response [status code] 401 [reason phrase] Unauthorized [url] http://musicbrainz.org/ws/2/artist/0383dadf-2a4e-4d10-a46a-e9e041da8eb3?inc=releases+recordings+release-groups+user-ratings&fmt=json
因此我尝试将我的用户名和密码添加到请求中:
$brainz = new MusicBrainz(new GuzzleHttpAdapter(new Client()),'myusername','mypassword');
$brainz->setUserAgent('myapplicationname', '0.2', 'http://localhost:443/');
如果我手动调用错误消息中的 url 并输入我的用户名和密码,我会得到我期望的数组。
我刚刚有一个发现:如果我删除 -"+ user - ratings"
- 它不需要身份验证。
因此我在我的项目中用"user - ratings"
注释了行
现在我认为它可以工作,但是查询的性能非常差,而且我经常收到错误 503//The MusicBrainz 网络服务器当前正忙。请稍后再试。// 一首歌只需要几秒钟。有人知道这是正常现象还是我仍然有某种错误?
我的代码....
//Create new MusicBrainz object
$brainz = new MusicBrainz(new GuzzleHttpAdapter(new Client()), 'username', 'password');
$brainz->setUserAgent('applicationname', '0.2', 'http://localhost:443/');
// set defaults
$artistId = null;
$songId = null;
$lastScore = null;
$firstRecording = array(
'releaseDate' => new DateTime()
);
// Set the search arguments to pass into the RecordingFilter
$args = array(
"recording" => 'we will rock you',
"artist" => 'Queen',
);
try {
// Find all the recordings that match the search and loop through them
$recordings = $brainz->search(new RecordingFilter($args));
/** @var $recording \MusicBrainz\Recording */
foreach ($recordings as $recording) {
// if the recording has a lower score than the previous recording, stop the loop.
// This is because scores less than 100 usually don't match the search well
if (null != $lastScore && $recording->getScore() < $lastScore) {
break;
}
$lastScore = $recording->getScore();
$releaseDates = $recording->getReleaseDates();
$oldestReleaseKey = key($releaseDates);
if (strtoupper($recording->getArtist()->getName()) == strtoupper($args['artist'])
&& $releaseDates[$oldestReleaseKey] < $firstRecording['releaseDate']
) {
$firstRecording = array(
'releaseDate' => $recording->releases[$oldestReleaseKey]->getReleaseDate()
);
}
}
pr($firstRecording);
} catch (Exception $e) {
pr($e->getMessage());
}
最佳答案
$brainz = new MusicBrainz(new GuzzleHttpAdapter(new Client()), 'username', 'password');
您必须设置您的 MusicBrainz 帐户凭据。将“用户名”替换为您的帐户用户名,将“密码”替换为用于登录 MusicBrainz.org 的密码
关于PHP MusicBrainz 获得第一个发布日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35486109/
我一直忙于理解 MusicBrainz在过去的几个小时中,我注意到没有命令行应用程序来标记或指纹音频文件。 Musicbrainz 的指纹识别有任何 CLI 实现吗?我怎样才能创建这些指纹? 我找到了
我正在运行一个 Java 应用程序,该应用程序查询 Musicbrainz 数据库的信息,但遇到了一个特殊的问题。我的应用程序构建的查询(使用 java.net.URL.URL)如下: http://
我正在尝试使用 Musicbrainz 获取歌曲的首次发行日期。为此,我使用了 mikealmond musicBrainz 库。 我遇到的问题是,当我尝试执行与本示例 (https://github
我已经设法使用以下方法获取艺术家的信息 http://musicbrainz.org/ws/2/artist/?query=artist:michael%20jackson 返回 MBID(或 ID)
我正在创建一个 Perl 脚本,它将以 artist/album/mp3file 格式将 mp3 文件移动到我的音乐文件夹中。现在我的一些 mp3 文件可能没有 album 标签 所以我想查询 Mus
有没有办法获得艺术家(乐队)的专辑列表,以及专辑封面和运行时的链接? 我已经获得了这个端点,但它返回的数据令人困惑: http://musicbrainz.org/ws/2/recording?que
我正在尝试学习Python,并且认为我可以通过编写我实际使用的东西来学习。所以我正在尝试编写一个小脚本来翻录一些音乐 CD。 我正在使用 musicbrainzngs 包。我想要获得 CD 的轨道列表
谁能告诉我如何从 MusicBrainz 中获取轨道信息使用音频指纹从音频文件(mp3、wav、wma、ogg 等...)中提取数据库。我正在使用 MusicBrainz Sharp 库,但任何其他库
我有相当多的使用 javascript 的经验,但从未调用过外部数据库,所以这对我来说是个新领域。我正在尝试从 Musicbrainz 数据库中将乐队成员作为 json 对象返回。目前,哪个小组并不重
您好,我正在使用 musicbrainz 数据库,我无法计算每个国家/地区的所有艺术家,但无论我尝试哪个国家/地区,我都会遇到同样的错误,即使我尝试使用 like。请任何人告诉我我做错了什么? ERR
给定 music brainz 艺术家 ID(例如 - Bob Dylan = 72c536dc-7137-4477-a521-567eeb840fa8 ),我可以查询 music brainz xm
我想使用 CoverArtArchiveClient从 MusicBrainz 加载专辑图像,但它需要 MusicBrainz ID ( MBID )。有人可以提供有关如何获取特定专辑的 MBID 的
所以我为每首歌准备了 3 个东西: Name Artist MusicBrainz ID 如何按受欢迎程度对它们进行排序? 我可以使用什么服务来将歌曲与其“统计数据”相匹配? 我曾考虑使用 YouTu
我正在尝试使用第 3 方 java 库从 MusicBrainz 下载元数据:musicbrainzws2-java 我正在尝试检索指定专辑中单首歌曲的元数据。我已经检索到了专辑的 MBID,但是当我
是否有任何 Java/J2EE 网站将其软件和数据开源(例如 musicbrainz.org,开发人员可以通过下载 Perl/CGI Web 应用程序和 PostgreSQL 转储中的音乐数据轻松建立
我正在尝试使用 musicBrainz api 通过以下方法获取艺术家的唱片:http://www.musicbrainz.org/ws/2/release/?query=artist:eminem
作为学习练习,我正在尝试为 MusicBrainz 编写一个插件,将 albumartistsort 匹配到 albumartist 并将 artistsort 匹配到 artist,这与它当前使用的
我目前正在使用 mikealmond/MusicBrainz类以从精彩的 MusicBrainz 数据库中获取我需要的信息。 但我有一个问题,我需要从一个版本中获取录音,我已经找到了如何在浏览器中的
我正在尝试从 MusicBrainz API 检索轨道信息,仅使用艺术家和标题作为搜索查询: http://musicbrainz.org/ws/2/recording/?query=artist:C
Muscibrainz 提供 acoustID指纹,例如,here 但是,我找不到直接搜索它们的可能性(就像 PUIDs 或 echoprints 一样) 我错过了什么吗? acoustid.org
我是一名优秀的程序员,十分优秀!