4

ここでそんな質問ができるかどうかわかりません。私の質問は以下の通りです。

自分で音楽プレーヤーを作っているのですが、アルバム画像がない曲のアルバム画像をダウンロードしたいです。N7MusicPlayerがやっていることと同じように。自分で検索してみたところ、MusicBrainzを使って画像をダウンロードできることがわかりました。

APIを探しましたが、はっきりとわかりません。私は次の疑問を持っています。

  1. APIキーを取得する方法は?
  2. 無料なの?
  3. アーティストと曲の名前がその曲のアルバム画像を取得することがわかっている場合、APIを呼び出すにはどうすればよいですか?

貴重なお返事をお待ちしております。

よろしくお願いします。

4

4 に答える 4

13

最初に行う必要があるのは、画像を取得するアルバムのリリースID(リリースMBID)を把握することです。これは、検索APIを使用して実行できます。次に例を示します。

http://www.musicbrainz.org/ws/2/recording/?query=artist:nikes+recording:ftg2

検索なので、多くの結果が得られますが、中には間違っているものもあります。この場合、最初の結果は正しく、1つのリリースにのみ一致し、MBIDは「c04730ea-87cb-478b-a256-08c0561d20e6」になります。

識別子ができたので、coverartarchiveでルックアップを実行できます。

http://coverartarchive.org/release/c04730ea-87cb-478b-a256-08c0561d20e6/

これにより、利用可能な画像のリスト(または、そのリリースにcoverartarchiveにカバーアートがない場合は404)を含むjson応答が返されます。

ただし、coverartarchiveはかなり新しいものであり、常にカバーアートがあるとは限りません。MusicBrainzには、カバーアートへのリンクがある場合があります。これは、Webサービスリクエストに「url-rels」を含めることで検索できます。たとえば、リリースMBID「fdfdb3c0-8820-4c22-94e6-6aa136e36c31」の場合は、次のリクエストを実行できます。

http://musicbrainz.org/ws/2/release/fdfdb3c0-8820-4c22-94e6-6aa136e36c31?inc=url-rels

そして、出力には画像へのURLが表示されます。

<relation type="cover art link">
    <target>http://liveweb.archive.org/http://www.8bitpeoples.com/images/albums/large/8BP049.gif</target>
</relation>
于 2012-11-19T17:43:21.360 に答える
2

興味のある言語によっては、これが行われている可能性があります。ここにC/C++ライブラリがあります:

http://musicbrainz.org/doc/libcoverart

アンディ

于 2012-11-19T19:29:54.470 に答える
1

私は同様の質問に対する答えを書きました。

Androidで使用できるライブラリが現在利用可能です。

Last.fmのCoverArtArchiveClientはカバーアートWebサービスのJavaデータバインディングであり、musicbrainzws2-javaは現在のMusicBrainz Webサービス(WS / 2 = "NGS")のJavaバインディングです。

于 2013-04-13T11:49:25.033 に答える
0

アルバム名とアーティスト名を知っている場合は、以下のリンクが役立ちます。画像が表示されます。

http://www.radiodj.ro/community/index.php?topic=1895.0

于 2013-01-16T08:34:06.373 に答える