gpt4 book ai didi

javascript - 使用 Soundcloud API 流式传输特定歌曲

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:14:44 26 4
gpt4 key购买 nike

我仍在学习如何使用 API - 这给我带来了麻烦。我相信我的代码是正确的,但是当我尝试使用简单的 JavaScript onclick 函数播放歌曲时没有任何反应。

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]"}

调用 GET 请求该 URL,我们可以获得轨道的 id,即 43377447

将您的 JS 更改为指向 tracks 端点:

var sound = SC.stream("tracks/43377447", function(sound){
sound.play();
});

Working JSFiddle with your client_id.

关于javascript - 使用 Soundcloud API 流式传输特定歌曲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34661600/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com