【问题标题】:Soundcloud CORS声云 CORS
【发布时间】:2013-02-26 21:42:23
【问题描述】:

Soundcloud api 应该支持 cors,正如我在文档 (http://developers.soundcloud.com/docs/api/guide#crossdomain) 中所读到的那样。

但我认为情况并非如此:

XMLHttpRequest cannot load http://ec-media.soundcloud.com/fxguEjG4ax6B.128.mp3?longurldata... Cannot make any requests from null.

我做错了什么?我正在尝试使用 aurora.js + mp3.js 播放流。

【问题讨论】:

  • 不妨贴出你的代码。
  • 这很糟糕,因为我是 HypeMachine-ChromeExtension 的维护者,这导致了一些 soundcloud 歌曲的下载。如果有任何变化,请告诉我。

标签: javascript soundcloud cors


【解决方案1】:

支持CORS 不是全有或全无,服务器端选择支持特定来源(以及标头和方法)。

在您的情况下,您似乎是从本地文件(来源null)进行调用,例如您通过从文件系统或类似文件中双击加载的 HTML 文档。显然他们不允许这样做。

【讨论】:

  • 哦,感谢您的快速回复,我会将代码移至带域的 VPS,明天我会再试一次。顺便说一句,我现在正在做的是:我有 nginx 来处理域 s.co,并修改了 /etc/hosts 以便 s.co 指向 127.0.0.1,所以 origin 不应该为空,对吗?
  • @user1188570: 不应该是null如果你正在从http://s.co加载页面,没有。
【解决方案2】:

不幸的是,目前,从 CDN(ec-media 子域)传递的 mp3 文件上未启用 CORS 标头。如果您需要通过 XHR 请求这些文件,则需要使用代理。

从 API 返回的 JSON 数据启用了 CORS 标头,但不是 mp3。

如果您尝试使用 Web Audio API,您可以使用 mediaElementSource 并通过将音频的 src 属性设置为“媒体源”来加载 mp3,如 here 所述。

【讨论】:

猜你喜欢
  • 2016-06-04
  • 2019-02-15
  • 2021-04-13
  • 2021-09-02
  • 1970-01-01
  • 1970-01-01
  • 2018-07-27
  • 2020-11-21
  • 2018-08-27
相关资源
最近更新 更多