如何使用 SoundCloud API 按流派过滤
How to use SoundCloud API to filter by genres
我正在尝试使用 SoundCloud 的 API 但没有成功,网络上的大多数示例和教程都不起作用。
为此,我使用了这个 video tutorial。我希望在我的网站上创建一个按类型筛选的过滤器。
所以首先我创建了一个 HTML:
<!DOCTYPE html>
<html>
<head>
<script src="//connect.soundcloud.com/sdk.js"></script>
<script src="js/soundcloud.js"></script>
</head>
<body>
<div id="target">
<ul>
<li><a href="#" class="genre">punk</a></li>
<li><a href="#" class="genre">rap</a></li>
<li><a href="#" class="genre">rock</a></li>
</ul>
</div>
</body>
</html>
比 JavaScript (soundcloud.js):
function playSomeSound(genre){
SC.get('/tracks',{
genres:genre,
bpm:{
from:100
}
}, function(tracks){
var random=Math.floor(Math.random()*49);
SC.oEmbed(tracks[random]).uri,{auto_play:true}, document.getElementById('target')
});
}
window.onload=function(){
SC.initialize({
client_id: 'my_app_id'
});
var menuLinks=document.getElementsByClassName('genre');
for (var i=0; i<menuLinks.lenght;i++){
var menuLink=menuLinks[i];
menuLink.onclick=function(e){
e.preventDefault();
playSomeSound(menuLink.innerHTML);
}
}
};
当我导航到我的网站时,一切都很好,控制台没有出现任何错误,但是如果我点击一个流派,它什么也没做。
为什么它不从 SoundCloud 检索歌曲?
SoundCloud为API使用改变了不同的东西,还有其他方法吗?
for (var i=0; i<menuLinks.lenght;i++){ //it should be .length and not lenght
var menuLink=menuLinks[i];
menuLink.onclick=function(e){
e.preventDefault();
playSomeSound(menuLink.innerHTML);
}
}
此外,您在 SC.embed 上放错了括号。这是一个可行的解决方案:http://jsbin.com/pugegesepu/1/edit
我正在尝试使用 SoundCloud 的 API 但没有成功,网络上的大多数示例和教程都不起作用。 为此,我使用了这个 video tutorial。我希望在我的网站上创建一个按类型筛选的过滤器。 所以首先我创建了一个 HTML:
<!DOCTYPE html>
<html>
<head>
<script src="//connect.soundcloud.com/sdk.js"></script>
<script src="js/soundcloud.js"></script>
</head>
<body>
<div id="target">
<ul>
<li><a href="#" class="genre">punk</a></li>
<li><a href="#" class="genre">rap</a></li>
<li><a href="#" class="genre">rock</a></li>
</ul>
</div>
</body>
</html>
比 JavaScript (soundcloud.js):
function playSomeSound(genre){
SC.get('/tracks',{
genres:genre,
bpm:{
from:100
}
}, function(tracks){
var random=Math.floor(Math.random()*49);
SC.oEmbed(tracks[random]).uri,{auto_play:true}, document.getElementById('target')
});
}
window.onload=function(){
SC.initialize({
client_id: 'my_app_id'
});
var menuLinks=document.getElementsByClassName('genre');
for (var i=0; i<menuLinks.lenght;i++){
var menuLink=menuLinks[i];
menuLink.onclick=function(e){
e.preventDefault();
playSomeSound(menuLink.innerHTML);
}
}
};
当我导航到我的网站时,一切都很好,控制台没有出现任何错误,但是如果我点击一个流派,它什么也没做。 为什么它不从 SoundCloud 检索歌曲? SoundCloud为API使用改变了不同的东西,还有其他方法吗?
for (var i=0; i<menuLinks.lenght;i++){ //it should be .length and not lenght
var menuLink=menuLinks[i];
menuLink.onclick=function(e){
e.preventDefault();
playSomeSound(menuLink.innerHTML);
}
}
此外,您在 SC.embed 上放错了括号。这是一个可行的解决方案:http://jsbin.com/pugegesepu/1/edit