我刚刚开始学习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>
答案 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]
。你可能仍然需要做一些事情,每次更改时重新初始化/重新启动播放器,但这有望让你开始。让我知道它是如何工作的!