使用Soundcloud API播放特定歌曲
Stream a specific song using Soundcloud API
我仍在学习如何使用API——这给我带来了麻烦。我相信我的代码是正确的,但当我尝试使用简单的JavaScriptonclick函数流式传输歌曲时,什么都不会发生。
HTML:
<head>
<script src="https://connect.soundcloud.com/sdk/sdk-3.0.0.js"></script>
<script src="good.js"></script>
</head>
<body>
<button onclick="playIt()">play adele</button>
</body>
JavaScript:
SC.initialize({
client_id: 'XXXXXXXXXX',
});
function playIt(){
var sound = SC.stream("/emberwaves/adele-set-fire-to-the-rain-remix", function(sound){
sound.play();
});
}
首先,使用resolve
端点获取该音轨的API URL:
HTTP GET: https://api.soundcloud.com/resolve.json?url=https://soundcloud.com/emberwaves/adele-set-fire-to-the-rain-remix&client_id=[CLIENT_ID]
响应:
HTTP/1.1 302 Found
Access-Control-Allow-Headers: Accept, Authorization, Content-Type, Origin
Access-Control-Allow-Methods: GET, PUT, POST, DELETE
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Date
Cache-Control: no-cache
Content-Type: application/json; charset=utf-8
Date: Thu, 07 Jan 2016 19:54:36 GMT
Location: https://api.soundcloud.com/tracks/43377447.json?client_id=[CLIENT_ID]
Server: am/2
Status: 302 Found
Content-Length: 128
Connection: close
{"status":"302 - Found","location":"https://api.soundcloud.com/tracks/43377447.json?client_id=[CLIENT_ID]"}
调用该URL的GET请求,我们可以获得该轨道的id
,即43377447
。
将JS更改为指向tracks
端点:
var sound = SC.stream("tracks/43377447", function(sound){
sound.play();
});
使用您的client_id使用JSFiddle。
对于任何想知道为什么Chrome中的流不起作用的人,根据这个问题,你应该反转实时消息传递协议,迫使Chrome使用html5而不是flash。
要解决此问题,您必须将JS更改为:
SC.stream("tracks/43377447").then(function(sound) {
if (player.options.protocols[0] === 'rtmp') {
player.options.protocols = player.options.protocols.reverse();
}
sound.play();
}
相关文章:
- 加载Soundcloud嵌入式播放器OnClick在FireFox中不工作
- 对Soundcloud自定义播放器播放列表的顺序进行排序
- 我希望在同一页面上同时播放多个SoundCloud小部件
- iFrame 中的 SoundCloud 自动播放已停止工作
- 播放,Soundcloud oembed 小部件的暂停事件
- Soundcloud Javascript SDK:当没有指定特定的库/用户/播放列表时,SC.get如何返回曲目
- Soundmanager 2:从Soundcloud流式传输时,除“播放”外,所有按钮都有效
- SoundCloud和Vimeo在不同的标签中同步他们的播放器(有时也同步标签和嵌入式播放器)
- 使用开发者 API 获取 Soundcloud “喜欢”的播放列表
- React-Native 并播放来自 Soundcloud API 的音乐
- 使用 Soundcloud 播放器按钮更改嵌入的页面上的元素
- 如何将用户喜欢的“播放列表”加载到SoundCloud JS小部件嵌入式播放器中
- 使用Soundcloud API播放特定歌曲
- 正在尝试创建播放soundcloud歌曲的媒体播放器.
- 如何在嵌入式SoundCloud播放器上添加搜索
- 自动播放youtube和soundcloud相继嵌入
- Soundcloud播放器修改
- 播放Soundcloud嵌入时暂停Youtube嵌入
- 使用soundcloud javascript sdk播放暂停和停止声音
- 如何播放SoundCloud RTMP流