SoundCloud我的私人轨道嵌入返回404

时间:2014-10-11 13:13:58

标签: php embed soundcloud

当我尝试在Soundcloud上嵌入我的私人音轨时,它会返回404。

我使用的代码是:

<audio src=http://api.soundcloud.com/tracks/########/stream?client_id=####" preload="auto"></audio>

有谁知道如何解决这个问题? (我知道SC提供的iframe嵌入方法,但这是一个不行,设计明智(太大和丑陋))

3 个答案:

答案 0 :(得分:0)

要共享私人曲目,您必须使用URL传递秘密令牌,您可以在网站上的共享对话框中找到它。所以你的URL看起来像是:

<audio src=http://api.soundcloud.com/tracks/########/stream?client_id=####&secret_token=#-#####" preload="auto"></audio

请注意添加&secret_token=#-#####

答案 1 :(得分:0)

您认为将密钥放在html源代码中是个好主意吗?

答案 2 :(得分:0)

访问任何SoundCloud轨道的流将重定向到ec-media.soundcloud.com上托管的mp3源。一种可能的解决方案是将实际的mp3链接嵌入到音频标签中。

拨打电话: https://api.soundcloud.com/i1/tracks/{track_id}/streams?client_id={api_key}&secret_token=#-#####

应该产生这样的东西:

{
hls_mp3_128_url: "https://ec-hls-media.soundcloud.com/playlist/{long-hash-key}",
rtmp_mp3_128_url: "rtmp://ec-rtmp-media.soundcloud.com/mp3{long-hash-key}",
preview_mp3_128_url: "https://ec-preview-media.sndcdn.com/preview/0/30/{long-hash-key}"
}

每个SoundCloud轨道不仅有一个stream子资源,还有一个显示其可用流的i1资源。到目前为止,我只看过RTMP,HTTPS和HLS。从那里,您可以使用支持您的用例的任何链接。

可能有用的node.js包:i1-soundcloud