私は開発者ではないので、私自身の "小さな"プロジェクトです。私の愚かな質問のために私を責めないでください。Spotify webAPIを使用して、アーティスト(ID)のランダムアルバムを再生する
"オーディオブックマシン"を作成します。
複数のオーディオブックアーティストを表示するウェブサイトを使用したいと思います。 1つのアーティストをクリックすると、クリックされたアーティストのランダムなオーディオブックが再生されます。
私は、このコードの例を見ていた:http://jsfiddle.net/qlmhuge/t7a1sh4u/
// find template and compile it
var templateSource = document.getElementById('results-template').innerHTML,
template = Handlebars.compile(templateSource),
resultsPlaceholder = document.getElementById('results'),
playingCssClass = 'playing',
audioObject = null;
var fetchTracks = function (albumId, callback) {
$.ajax({
url: 'https://api.spotify.com/v1/artists/61qDotnjM0jnY5lkfOP7ve/albums/',
success: function (response) {
callback(response);
}
});
};
var searchAlbums = function (query) {
$.ajax({
url: 'https://api.spotify.com/v1/search',
data: {
q: 'artist:' + query,
type: 'album',
market: "DE"
},
success: function (response) {
resultsPlaceholder.innerHTML = template(response);
}
});
};
results.addEventListener('click', function(e) {
var target = e.target;
if (target !== null && target.classList.contains('cover')) {
if (target.classList.contains(playingCssClass)) {
audioObject.pause();
} else {
if (audioObject) {
audioObject.pause();
}
fetchTracks(target.getAttribute('data-album-id'), function(data) {
audioObject = new Audio(data.tracks.items[0].preview_url);
audioObject.play();
target.classList.add(playingCssClass);
audioObject.addEventListener('ended', function() {
target.classList.remove(playingCssClass);
});
audioObject.addEventListener('pause', function() {
target.classList.remove(playingCssClass);
});
});
}
}
});
searchAlbums('TKKG');
を、私は一人のアーティストによってランダムアルバムを再生するには、それを変更する方法を見つけ出すことはできません。
アーティストは、アーティストが正しいものでないように、スポットIDで定義されます。
誰かが私の問題を助けてくれますか?私の目標を達成するために必要な情報は他にありますか?
正しい方向に向かうためにヒントを与えることができれば、とても感謝します。
敬具、あなたがここにあなたのfetchTracks
機能を変更する必要が goeste
ありがとうございますが、これは1人のアーティストのすべてのアルバムを一覧表示します... – goeste
@goeste添付されたjsfiddleを試しましたか? –
こんにちはオレグ、はい私はしましたが、それは実際にspotifyからのスクリプト例です。私はちょうど(私の選択の)イメージを取得して、その背後にリンクを置いたかった。リンクは、特定のミュージシャン/アーティストのランダムなアルバムを再生するよりも開始する必要があります;) – goeste