Как получить правильный URL SoundCloud для встраивания из стандартного URL? - PullRequest
9 голосов
/ 11 марта 2012

Так что сейчас я могу взять URL-адрес из уже встроенных файлов soundcloud в тегах embed или iframe, использовать эти URL-адреса на другой странице и отображать их в fancybox.Есть ли способ получить правильный URL-адрес или отображение в fancybox, если пользователь предлагает типичный URL-адрес общего ресурса, например http://soundcloud.com/song-b/song-please или http://snd.sc/yp6VMo?Я попытался просмотреть документацию API, но я не смог найти то, что искал.

Ответы [ 4 ]

18 голосов
/ 13 марта 2012

Он пытается получить HTML для создания виджета Soundcloud, а не получить URL-адрес API для трека.Метод oEmbed"будет предоставлять код для вставки виджета для любого URL-адреса SoundCloud, указывающего на пользователя, группу, набор или список воспроизведения", и рекомендуется, чтобы изменения в Soundclouds не нарушали ваше приложение (в отличие отваш собственный объект Flash или iframe).Вы можете вызвать его с помощью веб-запроса PHP на

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.Он также работает с короткими URL-адресами .sc, которые вы используете.

7 голосов
/ 06 мая 2013

вы можете попробовать это для 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>
6 голосов
/ 12 марта 2012

Я не совсем уверен, что вы спрашиваете здесь, но, похоже, вам может понадобиться конечная точка 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 .

0 голосов
/ 11 марта 2012

Я не пробовал это, измененный код из здесь :

<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>
...