【问题标题】:Embedding a soundcloud player that first searches a user's sets/playlists?嵌入首先搜索用户集/播放列表的 soundcloud 播放器?
【发布时间】:2013-01-19 13:12:15
【问题描述】:
  1. 有人知道如何在特定用户的播放列表(集)中制定曲目的搜索语法吗?
  2. 有了它后,如何使用 oembed 之类的东西来显示匹配的曲目?

1 搜索语法

http://developers.soundcloud.com/docs/api/guide#search 说:

可以使用以下方法搜索声音、用户、集合和组等资源 我们的 API。大多数端点将接受一个 q 参数,您可以使用它来 指定要在标题、用户名等字段中搜索的关键字, 描述等,具体取决于资源类型。

那么,究竟如何通过搜索词过滤给定用户集的播放器?

我认为https://soundcloud.com/search/sounds?q=newchoir%20100%20years%20tenor&filter.user=newchoir 可能有用,但它没有。

特别是我有兴趣在我的网站上嵌入一个播放器(顺便说一下使用 Atlassian Confluence,但我认为我们现在可以忽略它。)

我要显示的唯一曲目属于该用户:https://soundcloud.com/newchoir - 我明确需要排除任何其他用户。

我希望能够在这样的集合中搜索:https://soundcloud.com/newchoir/sets/tenor-rehearsal-tracks

所以我想要的搜索是:

  • 按周“第 4 周”
  • 标题为“100 年”

我们将星期和歌曲名称作为文本放在标题字段中。


2 oEMBED

http://developers.soundcloud.com/docs/oembed#introduction 展示了如何处理 Soundcloud URL 以返回一个结构,该结构包含一个包含该 URL 的可嵌入播放器。

http://oembed.com 继续说,对于许多类型,该结构在 JSON/XML 中包含一个“html”元素,然后可以通过 javascript 提取该元素。

https://github.com/starfishmod/jquery-oembed-all 提供了一个支持 soundcloud 的 jquery 提取器。

但是,oEmbed 方法仅支持 http://soundcloud.com/ URL,而不支持 http://api.soundcloud.com URL。


所以,我没看错:

  1. 我必须写代码?不能只在我的网站中嵌入“iframe src=”吗?
  2. 我需要使用 api.soundcloud + 客户端密钥吗?好像有点过分了
  3. 无法在特定 Soundcloud 帐户中搜索给定的命名曲目并显示符合这些条件的播放器?

【问题讨论】:

    标签: soundcloud


    【解决方案1】:

    有人知道如何在特定用户的播放列表(集)中制定曲目的搜索语法吗?

    我认为您必须执行 API 请求才能获取用户集 (http://api.soundcloud.com/users/USER_ID/playlists.json?client_id=YOUR_CLIENT_ID),然后搜索那里的曲目。

    一旦我有了它,我如何使用像 oembed 这样的东西来显示匹配的曲目?

    它确实适用于 API URL:https://soundcloud.com/oembed.json?url=https%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F64492288。但是您可以节省一个 HTTP 请求并让您的应用程序更快,通过一个简单的replace 调用字符串(例如,在 JavaScript 中)创建 HTML 代码:

    var template = '<iframe width="100%" height="" scrolling="no" src="http://w.soundcloud.com/player/?url=API_URL" frameborder="0"></iframe>';
    var html = template.replace('API_URL', 'https%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F64492288');
    

    ... 我需要使用 api.soundcloud + 客户端密钥?好像有点过分了

    不是,这正是 API 的用途,它可以让您对正在做的事情有更大的灵活性。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-03
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多