如何使用Soundcloud api流入html5音频播放器?

时间:2013-03-04 18:32:27

标签: javascript html5 audio soundcloud

我刚刚开始学习javascript,作为我的第一次尝试,我想创建自定义音频播放器,它使用soundcloud的api作为音乐源。

到目前为止,这就是我设置的内容:

<!DOCTYPE html>
<html>
<head>



<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://connect.soundcloud.com/sdk.js"></script>

<script>
window.onload = function() {
SC.initialize({
  client_id: '10e27db0dacd00954d7160b4c092a6e2' //Demo ID
});

SC.stream("/tracks/75868018", function(sound){
    $("audio-test").attr("src", sound.uri);
});
};
</script>



</head>
<body>

<audio id="audio-test" controls></audio>

</body>
</html>

2 个答案:

答案 0 :(得分:8)

好的,明白了。问题是.stream() - 它意味着提供一个由.play()函数部署的预先打包的播放器。

如果您使用SC.get(),则实际上您将访问该音轨的属性,并能够将其嵌入音频标签中。请参阅我的代码:http://jsfiddle.net/LpzpK/6/

还有一个问题 - 曲目被标记为401被禁止,所以玩家只能“加载”。你必须找到一种方法来制作想要公开播放的曲目。

答案 1 :(得分:2)

粗略地看一下,所有soundcloud API对象都带有一个直接链接到资源的URI属性。在您的情况下,它将是sound.uri

在播放器代码的顶部,您有一个<audio>标记 - 我的猜测是您要将src设置为您正在播放的曲目的URI值。您可以通过附加ID并调用

来完成此操作
SC.stream("/tracks/293", function(sound){
    $("[audio_id]").attr("src", sound.uri);
});

用你为标签选择的任何ID替换[audio_id]。你可能仍然需要做一些事情,每次更改时重新初始化/重新启动播放器,但这有望让你开始。让我知道它是如何工作的!