2013-02-26 3 views
3

Soundcloud API는 설명서 (http://developers.soundcloud.com/docs/api/guide#crossdomain)에서 읽었을 때 cors를 지원해야합니다.Soundcloud CORS

하지만 이러한 경우가 생각 :

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

내가 잘못 뭐하는 거지? aurora.js + mp3.js로 스트림을 재생하려고합니다.

+1

코드를 올릴 수도 있습니다. – user1477388

+0

저는 HypeMachine-ChromeExtension의 관리자이기 때문에 사운드 클라우드 노래를 다운로드하려고합니다. 변경 사항이 있으면 알려 주시기 바랍니다. – Setheron

답변

1

현재 불행히도 CORN 헤더는 CDN (ec-media 하위 도메인)에서 제공되는 mp3 파일에서 사용할 수 없습니다. XHR을 통해 이러한 파일을 요청해야하는 경우 프록시를 사용해야합니다.

CORS 헤더는 API에서 반환 된 JSON 데이터에는 사용할 수 있지만 mp3에는 사용할 수 없습니다.

웹 오디오 API를 사용하려는 경우 mediaElementSource을 사용하고 here과 같이 "미디어 소스"로 사용할 오디오의 속성 src을 설정하여 mp3을로드 할 수 있습니다.

+0

음, XHRHttpRequest가 mp3에서 가끔 작동하는 것처럼 보입니다. 크롬에서 작동하는 데모 www.zya.cc/scsampler를 만들었습니다. 모든 링크에서 작동하지는 않습니다. 심지어 그들이 다운로드 할 수 있습니다. 이유는 무엇입니까? – zya

+0

@gryzzly this [Firefox 또는 Safari에서 작동하지 않음] (http://stackoverflow.com/a/23202652/1397319) [가까운 시일 내에 Chrome에서 더 이상 작동하지 않습니다] (https://stackoverflow.com)/questions/28984883/can not-analyze-soundclouds-streaming-audio-of-cors-as-of-cors-policy). – idbehold

2

CORS을 지원하면 서버 쪽에서는 특정 오리진 (및 헤더와 메소드)을 지원하기로 선택합니다.

귀하의 경우 로컬 파일 (원산지 : null)에서 전화를 걸고있는 것처럼 보입니다. 파일 시스템 또는 유사한 것을 두 번 클릭하여로드 한 HTML 문서. 분명히 그들은 그것을 허용하지 않습니다.

+0

빠른 답장을 보내 주셔서 감사합니다. 코드를 도메인이있는 VPS로 옮기고 내일 다시 시도하겠습니다. 내가 지금하고있는 일은 무엇입니까? sgin이 127.0.0.1을 가리 키도록 도메인 s.co를 처리 할 nginx가 있고/etc/hosts가 수정되어 원본이 null이 아니어야합니다. 맞습니까? – ewooycom

+1

@ user1188570 : 'http : // s.co'에서 페이지를로드하는 경우'null '이 아니어야합니다. ***, 아니요. –