【发布时间】:2016-08-15 20:28:59
【问题描述】:
这是我的“小”项目,因为我自己不是开发人员,请不要因为我的愚蠢问题而责备我。
我想创建一个“有声读物机”。
我想使用一个网站,该网站展示了几位有声读物的艺术家。如果我点击一位艺术家,则应播放所点击艺术家的随机有声读物。
我看过这个代码示例: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 定义,以便艺术家是正确的。
有人可以帮我解决我的问题吗?完成我的目标还需要哪些信息?
如果有人能给我一个提示或其他任何东西,我会非常感激,以找到正确的方向。
最好的问候, 去吧
【问题讨论】:
标签: html node.js asp.net-web-api raspberry-pi spotify