如何从标准url中获得合适的声音云url进行嵌入

How to get proper soundcloud url for embedding from a standard url?

本文关键字:url 声音 标准      更新时间:2023-09-26

所以现在我可以从嵌入或iframe标签中已经嵌入的声音云文件中获取url,并在另一个页面上使用这些url,并将其显示在fancybox中。如果用户提供典型的共享url(如http://soundcloud.com/song-b/song-pleasehttp://snd.sc/yp6VMo),有没有办法获得正确的url或在fancybox中显示?我试着查看api文档,但我真的找不到我要找的东西。

他试图获得html来创建Soundcloud小部件,而不是获得曲目的API url。oEmbed方法"将为指向用户、组、集合或播放列表的任何SoundCloud URL提供小部件嵌入代码",建议确保Soundclouds的更改不会破坏您的应用程序(而不是制作自己的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短URL。

您可以为歌曲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>

我不确定您在这里问的是什么,但听起来您可能需要"解析"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小部件。

我还没有尝试过,从这里修改了代码:

<object height="81" width="100%">
   <param name="movie" value="http://player.soundcloud.com/player.swf?url=<?php echo $url; ?>&amp;g=bb"></param>
   <param name="allowscriptaccess" value="always"></param>
   <embed allowscriptaccess="always" height="81" src="http://player.soundcloud.com/player.swf?url=<?php echo $url; ?>&amp;g=bb" type="application/x-shockwave-flash" width="100%"></embed>
</object>
<a href="<?php echo $url; ?>"><?php echo $url; ?></a>