這裏是我的「小」項目,因爲我不是一個開發人員我自己請不要怪我愚蠢的問題。使用Spotify的webAPI播放藝術家(ID)的隨機專輯
我想創建一個「音頻書機」。
我想使用一個網站,顯示幾個藝術家的有聲讀物。如果我點擊一位藝術家,應播放隨機點擊的藝術家的有聲讀物。
我看了一下這個代碼示例: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');
,但我無法弄清楚如何去改變它由一個藝術家扮演一個隨機的專輯。
藝術家將被spotify ID定義爲藝術家是正確的。
有人可以幫我解決我的問題嗎?還需要什麼信息才能完成我的目標?
我會非常感激,如果有人能給我一個提示,或者其他什麼,去正確的方向。
最好的問候, goeste
謝謝,但這隻會列出一位藝術家的所有專輯... – goeste
@goeste你試過附加jsfiddle嗎? –
嗨奧列格,是的,我做到了,但那實際上是來自spotify的示例腳本。我想獲得一張(我選擇的)圖像,並在其後面加上鍊接。該鏈接應該比開始播放某個音樂家/藝術家的隨機專輯;) – goeste