【发布时间】:2014-07-11 14:42:18
【问题描述】:
我目前正在使用 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 从外部域请求音频源的响应?
我使用选择查询尝试了 http://query.yahooapis.com/v1/public/yql?,但无法从表中获取音频源(根据 https://developer.yahoo.com/yql/console/)。
欢迎提出任何想法。
非常感谢!!
【问题讨论】:
-
只有两种方法:1)托管音频的服务器(在不同的域上)在其响应中发送适当的访问控制标头(听起来好像不是)和 2)设置您控制的服务器(在同一域上)来代理请求。
标签: ajax xmlhttprequest cross-domain web-audio-api arraybuffer