Составьте список треков из Soundcloud и воспроизведите его с помощью Soundmanager 2 в блоге Wordpress.
Во-первых, это не крик о идеально закодированном решении, но было бы замечательно, если бы кто-то мог хотя бы дать мне несколько советов о том, как решить эту проблему, а именно: У меня есть собственный сайт Wordpress для лейбла звукозаписи. На этом сайте, конечно, есть раздел, показывающий релизы всех треков их артистов.
Клиент должен загрузить все свои треки в Soundcloud. В бэкэнде WP они могут ввести название альбома, загрузить изображение обложки и добавить столько треков, сколько захотят, используя MagicFields для Wordpress. После добавления информации об альбоме и названий дорожек они могут ввести URL-адрес конкретной дорожки, размещенной в Soundcloud. Затем WP перечисляет все эти треки следующим образом:
(Кажется, я не могу загрузить изображения, поэтому вот ссылка) http://postimage.org/image/22ob8ymys/
С левой стороны вы можете увидеть визуализацию 360 Soundmanager2. Прямо сейчас файлы MP3 загружаются на веб-сайт лейбла (который мне нужно изменить), и ссылка каждого элемента списка выглядит примерно так:
<ol>
<a href="#" onclick="if (threeSixtyPlayer.lastSound) { threeSixtyPlayer.lastSound.stop(); } document.getElementById('mp3').href = 'track1.mp3'; threeSixtyPlayer.handleClick({target: document.getElementById('mp3')});"><li>Track 1</li></a>
...
</ol>
Как видите, ссылка ведет к конкретным файлам, заканчивающимся расширением.mp3, чтобы сделать его воспроизводимым через SM2. Но, как вы знаете, вы не можете легко получить доступ к MP3 на Soundcloud. Передача URL-адреса, например, "www.soundcloud.com/artist/track1", кажется, не работает.
Я провел некоторое исследование по API Soundcloud, но угадайте, что, это слишком сложно для меня, чтобы понять (вот почему я здесь). Документация на http://soundcloud-sm2.heroku.com/docs/application.html подошла довольно близко к тому, что я искал, но, к сожалению, я не могу использовать это, потому что треки не должны быть включены на сайт через JS, но PHP,
Я надеюсь, что кто-то из вас может дать мне несколько советов о том, как решить эту конкретную проблему. Спасибо за чтение этого далеко;)
1 ответ
Вам нужно получить URI потока, используя API Soundcloud. Вы можете получить URI потока, сделав запрос:
https://api.soundcloud.com/tracks/5677638.json
где 5677638
идентификатор трека, информацию о котором вы хотите получить.
Но вам нужен ключ API, который вы можете бесплатно запросить по адресу: Soundcloud Developers
Поэтому после этого вы можете сделать запрос как:
https://api.soundcloud.com/tracks/5677638.json?consumer_key={your api key}
Этот запрос даст вам строку в кодировке json, которая содержит всю информацию о треке, например:
{
"id": 5677638,
"created_at": "2010/09/29 19:46:01 +0000",
"user_id": 378405,
"duration": 183945,
"commentable": true,
"state": "finished",
"sharing": "public",
"tag_list": "electro electrohouse remix green velvet remixcontest remixcompetition remixcomp foem uptempo",
"permalink": "green-velvet-feat-santiago-bushido-turn-it-up-sander-van-halem-remix",
"description": "Now let's turn it up up up up! :D Remix comp at http://foem.info/index.php?option=com_content&task=view&id=383&Itemid=97 . Some feedback would be appreciated. ",
"streamable": true,
"downloadable": true,
"genre": "",
"release": "",
"purchase_url": null,
"label_id": null,
"label_name": "",
"isrc": "",
"video_url": null,
"track_type": "remix",
"key_signature": "",
"bpm": 128,
"title": "Green Velvet feat. Santiago and Bushido - Turn It Up (Sander van Halem Remix)",
"release_year": null,
"release_month": null,
"release_day": null,
"original_format": "mp3",
"license": "all-rights-reserved",
"uri": "https://api.soundcloud.com/tracks/5677638",
"permalink_url": "http://soundcloud.com/sander-van-halem/green-velvet-feat-santiago-bushido-turn-it-up-sander-van-halem-remix",
"artwork_url": "http://i1.sndcdn.com/artworks-000002478404-sy6zd5-large.jpg?6cbf23e",
"waveform_url": "http://w1.sndcdn.com/1Iydbj7KnvOi_m.png",
"user": {
"id": 378405,
"permalink": "sander-van-halem",
"username": "Sander van Halem",
"uri": "https://api.soundcloud.com/users/378405",
"permalink_url": "http://soundcloud.com/sander-van-halem",
"avatar_url": "http://i1.sndcdn.com/avatars-000000760311-hwm8iz-large.jpg?6cbf23e"
},
"stream_url": "https://api.soundcloud.com/tracks/5677638/stream",
"download_url": "https://api.soundcloud.com/tracks/5677638/download",
"playback_count": 1386,
"download_count": 67,
"favoritings_count": 17,
"comment_count": 34,
"attachments_uri": "https://api.soundcloud.com/tracks/5677638/attachments"
}
Как вы можете видеть, есть stream_url
Элемент, который содержит URL-адрес, который можно использовать для "встраивания" дорожки с помощью SoundManager, как в случае с локальным mp3.