所以现在我可以从embed或iframe标签中已经嵌入的soundcloud文件中抓取url,然后在另一个页面上使用这些url并将其显示在fancybox中。如果用户提供一个典型的共享url,比如http://soundcloud.com/song-b/song-please
或http://snd.sc/yp6VMo
,有没有办法获得正确的url或在fancybox中显示?我试着查看api文档,但我无法真正找到我正在寻找的东西。
发布于 2012-03-13 05:45:10
他试图让html创建一个Soundcloud小工具,而不是获取曲目的API url。oEmbed method“将为指向用户、组、集合或播放列表的任何Flash提供小部件嵌入代码”,建议您确保SoundCloud的更改不会破坏您的应用程序(而不是创建自己的Flash或iframe)。您可以使用PHP web请求调用它,以
http://soundcloud.com/oembed?format=js&url=[escaped_url]&iframe=true
或者使用JSON-P调用(为了方便起见,使用jQuery )
$.getJSON('http://soundcloud.com/oembed?callback=?',
{format: 'js', url: 'http://snd.sc/yp6VMo', iframe: true},
function(data) {
// Stick the html content returned in the object into the page
$('#your_player_div').html(data['html'])
}
)
我添加了iframe=true,这样你就可以得到新的HTML5播放器,省略它就可以得到旧的Flash对象。它还适用于您正在使用的.sc短urls。
发布于 2013-05-06 22:36:57
您可以针对歌曲url而不是歌曲url的id尝试此操作。
<iframe width="100%" height="166" scrolling="no" frameborder="no"src="http://w.soundcloud.com/player/?url=http://api.soundcloud.com/elissafranceschi/war&auto_play=false&color=915f33&theme_color=00FF00"></iframe>
发布于 2012-03-12 05:32:52
我不太确定您在这里问的是什么,但听起来您可能需要"resolve“API端点。http://developers.soundcloud.com/docs/api/resolve
示例:
$ curl -v 'http://api.soundcloud.com/resolve.json?url=http://soundcloud.com/matas/hobnotropic&client_id=YOUR_CLIENT_ID'
HTTP/1.1 302 Moved Temporarily
Location: http://api.soundcloud.com/tracks/49931.json
这将给你所有的跟踪信息,这应该是足够的,无论你需要做什么。另外,别忘了还有HTML5 widget。
https://stackoverflow.com/questions/9653744
复制相似问题