我目前正在使用Soundcloud应用程序,但我现在卡住了。我使用的是 HTTP API 而不是Widget。我在我的网站上导入了每个专辑的曲目列表,并带有播放/暂停按钮。我想要的是每个轨道的每个播放/暂停按钮都可以控制。
现在,在Codeacademy上,他们将使用:
SC.stream('/tracks/108816655', function(sound) {
$('#start').click(function(e) {
e.preventDefault();
sound.start();
});
$('#stop').click(function(e) {
e.preventDefault();
sound.stop();
});
});
这很好,但它并不符合我的意愿。因为如何才能实现当前的trackID才能播放特定的歌曲?
我是这样来的。它几乎符合我的意愿。它现在播放特定的歌曲,当你播放另一首歌时,它将播放该歌曲。 只有我缺少的是我可以暂停那首特定曲目的歌曲。所有这些我想用一个按钮来切换那个类。但我不知道这是否是实现这一目标的正确方法。$('.play').click(function(event) {
event.preventDefault();
var trackID = $(this).closest('li').attr('data-id'); // Even kijken hoe je de li kunt krijgen omdat je nested nested hebt omdat ik nu gebruik maak van td dus de parent is geen li maar td
console.log(trackID);
$('#playlist li').removeClass('active');
$(this).parent().addClass('active');
$(this).toggleClass('play pause');
if (nowPlaying) {
nowPlaying.stop();
}
SC.stream('/tracks/' + trackID, function(sound) {
sound.play();
nowPlaying = sound;
});
});
我尝试制作一个JSFiddle,但我无法获得完成Soundcloud API的链接。非常遗憾。 Here is the jsfiddle
在我的代码之前,我使用了soundcloud SC.initialize
函数,我在其中定义了client_id
和redirect_uri
。
答案 0 :(得分:0)
请深入了解SoundManager2方法。 http://www.schillmania.com/projects/soundmanager2/
这里我有一个演示停止/开始/暂停的工作示例:
GET /oauth/access_token?
grant_type=fb_exchange_token&
client_id={app-id}&
client_secret={app-secret}&
fb_exchange_token={short-lived-token}