首先,这不是一个完美编码解决方案的呐喊,但如果有人至少可以给我一些如何解决这个问题的提示,那将是完美的:我有一个自定义的Wordpress网站用于唱片公司。在这个网站上当然有一节显示他们每个艺术家的曲目。
客户端需要将所有曲目上传到Soundcloud。在WP后端,他们可以输入相册的名称,上传封面图像,并使用MagicFields for Wordpress添加任意数量的曲目。添加专辑信息和曲目名称后,他们可以输入Soundcloud上托管的特定曲目的URL。 WP然后列出所有这些曲目如下:
(好像我无法上传图片,所以这里是链接) http://postimage.org/image/22ob8ymys/
在左侧,您可以看到Soundmanager2的360可视化。现在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播放。但正如您可能知道的那样,您无法轻松访问Soundcloud上的MP3。传递像'www.soundcloud.com/artist/track1'这样的网址似乎不起作用。
我已经对Soundcloud的API进行了一些研究但猜测是什么,这对我来说太复杂了(这就是我在这里的原因)。 http://soundcloud-sm2.heroku.com/docs/application.html上的文档与我正在寻找的内容非常接近,但不幸的是我无法使用它,因为轨道不应该通过JS而是PHP包含在网站上。
我希望有人能给我一些如何解决这个具体问题的技巧。 感谢你阅读这篇文章;)
答案 0 :(得分:3)
您需要使用Soundcloud的API获取流URI。您可以通过发出以下请求来获取流URI:
https://api.soundcloud.com/tracks/5677638.json
其中5677638
是您想要获取信息的曲目的ID。
但您确实需要一个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
项目,其中包含您可以使用SoundManager“嵌入”轨道的URL,就像使用本地mp3一样。