我目前正在使用Web Audio API,我正在寻找缓冲并播放来自不同域的声音来源。
我做了很多或研究,包括stackoverflow,似乎有解决方案来做跨域请求(JSONP,YQL ...)来查询html,json,xml ......但没有什么可以捕获音频源。获取声源的标准方法是使用XMLHttpRequest并强制响应为arrayBuffer类型:
var request = new XMLHttpRequest();
request.responseType = 'arraybuffer';
request.open("GET", url);
request.response之后可以成为可以播放的缓冲区。
这似乎适用于" url"指向同一域的音频文件。有没有办法获取XMLHttpRequest的响应请求来自外部域的音频源?
我尝试使用select查询 http://query.yahooapis.com/v1/public/yql?,但无法从表中选取音频源(根据https://developer.yahoo.com/yql/console/)。
欢迎任何想法。
非常感谢!!
答案 0 :(得分:2)
这只适用于您要求的音频文件位于支持CORS的服务器上(并且您在请求中使用CORS) - 您不能随意从其他服务器上获取声音文件(因为这样可以实现交叉-origin数据访问)。 http://enable-cors.org/