我对一个简单的soundcloud api流媒体示例感到非常沮丧,我正在研究几天知道。它基本上只是随机选择一个SC-url并打印出一个卷信息。我正在使用Gregg Tavares的audiostreamsource.js库来创建audiocontext和用于创建段落的p5.js。 而已... 它在Fireforx / Chrome上运行得非常好。但由于某种原因,它只在我刷新页面时在Safari中有效。有时它甚至会与Safari崩溃。 :(我想我只是没有足够的经验来解决这个问题。我真的试图从各个角度解决它。现在我被卡住了...... :(
你可以在这里看到我的小例子:http://christianlosert.com/test/01/ 编辑:要查看问题,您必须通过上面的链接进入新的浏览器选项卡。然后你会看到,在几毫秒之后,流媒体就会在Safari中止。
有人可以看到我的错误吗?
PS:在Gregg Tavares的帮助下,我尝试创建一个没有audiostreamsource.js / p5.js库的流媒体示例,以确保错误在我的代码中。奇怪的是,此示例仅适用于Safari(不是Firefox / Chrome):http://christianlosert.com/test/greg/我真的完全不知道这里发生了什么
答案 0 :(得分:1)
soundcloud 3.0库不适用于Safari。参见
soundcloud's 2.0 sdk works but 3.0 does not as of Oct 29th, 2015
你可以
使用soundcloud 2.0库(问题:即使不使用它也会初始化flash)
使用一些XHR代码
自行制作soundcloud API请求基本上你向
提出XHR请求https://api.soundcloud.com/resolve?url=<musicUrl>&client_id=<yourclientid>&format=json&_status_code[302]=200
注意:您需要在encodeURIComponent
上呼叫<musicUrl>
,可能在_staus_code[302]
如果结果的状态为302,则按照位置
var result = JSON.parse(resultString);
if (result.status.substr(0, 3) === "302" && result.location) {
do XHR on result.location
else
use result as normal