Я пытаюсь внедрить версию этого аудио-визуализатора на веб-сайте.
JS Fiddle
Все работает нормально, за исключением случая, когда потоковое аудиос другого сервера, затем запускается CORS и останавливает воспроизведение.
Поскольку у меня есть контроль над сервером, с которого идет потоковое аудио, я добавил:
Header always set Access-Control-Allow-Origin: "*"
К httpd.conf file.
Это сбило с толку предупреждение в Firefox, но сообщение CORS все еще появляется в Chrome, и поэтому звук не передается.В Safari не отображается сообщение о CORS, но звук также не передается.
Сообщение от Chrome:
Access to audio at 'http://example.com/file.mp3' from origin
'http://fiddle.jshell.net' has been blocked by CORS policy:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Это явно не ошибка в Chrome или Safari, так как оба браузеравоспроизведите аудио по умолчанию, используемое в примере JS Fiddle, который находится на другом сервере.
Итак, это говорит о том, что проблема связана с настройкой Apache, но я использовал инструмент CORS, и действительно, нужный URL-адрес действительно отображается иполитика Access-Control-Allow-Origin: "*"
, как и ожидалось.
Теперь я действительно застрял!Почему Chrome неправильно читает политику CORS?