【发布时间】:2020-11-19 11:35:53
【问题描述】:
背景: 我正在尝试使用与 the model explained in this tutorial 非常相似的带有 createMediaElementSource() 的 Web 音频 API 创建音频可视化器。我的客户用于其音频的托管服务会在实际媒体之前插入 302 重定向,以跟踪收听数据。
问题: 在 Safari 中,当我将 AudioContext 附加到与前面带有 302 重定向的源链接的音频元素时,它会输出静音而不是正常音频,而不会在日志中出现任何错误。相比之下,我测试了 Chrome 和 Firefox,它们都运行良好,没有任何问题。
在上面的演示中,所有三个按钮都附加并播放相同的音频源,但在第二个和第三个中,它首先通过重定向。第二个也附加了一个 AudioContext,而第三个只是正常播放音频,没有视觉效果。
I posted about this issue last month 并且有人建议问题是 302 重定向上缺少一些 CORS 标头。 然而,我现在正在测试我自己的重定向服务器而不是使用托管服务,以便我可以测试我自己的 CORS 规则(见下文)。即使设置了这些标头,问题仍然存在,所以这让我认为这是 Safari 中的一个错误,带有 302 重定向。我想知道的是 A) 是否有任何其他跨域标头我可以尝试添加可以解决问题,以及 B) 如果它确实是 Safari错误,我该去哪里报告它以及从那个点到有人解决它需要多长时间。
我为 302 重定向设置的标题:
Access-Control-Allow-Origin:*
Access-Control-Expose-Headers:connection,content-length,last-modified,etag,content-type,via,cache-control,accept-ranges,age,content-range,date,x-served-by,x-cache,x-cache-hits,x-timer,access-control-allow-origin,access-control-allow-methods,vary,server,x-final-url
Access-Control-Allow-Methods:GET,OPTIONS
【问题讨论】:
标签: safari cors webkit web-audio-api http-status-code-302