1

首先,这并不是一个完美编码的解决方案的呼喊,但如果有人至少能给我一些关于如何解决这个问题的提示,那就太完美了:我有一个用于唱片标签的自定义 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”这样的 URL 似乎不起作用。

我已经对 Soundcloud 的 API 进行了一些研究,但你猜怎么着,这对我来说太复杂了(这就是我在这里的原因)。http://soundcloud-sm2.heroku.com/docs/application.html上的文档非常接近我正在寻找的内容,但不幸的是我无法使用它,因为这些曲目不应该通过 JS 而包含在网站上,而是 PHP .

我希望你们中的某个人能给我一些关于如何解决这个特定问题的提示。感谢您阅读本文;)

4

1 回答 1

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项目包含 URL,您可以使用 SoundManager 来“嵌入”曲目,就像使用本地 mp3 一样。

于 2012-02-21T22:45:30.693 回答