#javascript #cross-domain #web-audio-api #firefox-addon-webextensions
#javascript #междоменный #web-audio-api #firefox-дополнение-webextensions
Вопрос:
Приложение, которое я разрабатываю, представляет собой аудиовизуализатор на основе WebExtensions. В примере из документов Mozilla микрофон пользователя используется в качестве входного потока для AnalyserNode, но я хочу использовать воспроизведение звука на странице в браузере пользователя.
Чтобы получить воспроизведение медиапотока с активной вкладки, я использую AudioContext.createMediaElementSource(elem) с активным аудиоэлементом. Как я узнал, браузер будет уважать CORS с помощью этой функции (Access-Control-Allow-Origin: * требуется для ресурсов с разными источниками).
WebExtensions могут использовать разрешения для отключения CORS для всех URL-адресов, указав разрешение «<all_urls>» в manifest.json, что я и сделал.
Несмотря на это разрешение, сценарий содержимого, выполняющий createMediaElementSource, по-прежнему блокируется CORS. Сообщение об ошибке в Firefox: «HTMLMediaElement, переданный createMediaElementSource, имеет ресурс с перекрестным источником, узел выводит тишину».
Возможно ли использовать междоменный медиапоток из WebExtension без вмешательства CORS?
Комментарии:
1. где в любой из ваших ссылок говорится, что вы можете использовать разрешения для обхода CORS для существующих мультимедийных элементов — насколько я вижу, только
XMLHttpRequest
иfetch
будет обходить перекрестные ограничения происхождения2. @JaromandaX нигде. StackOverflow рекомендует пользователям описать, что они пробовали и почему это не соответствует их потребностям.
3. Справедливо, я думал, что неправильно прочитал документацию … Я не думаю, что то, что вы хотите сделать, возможно в этом случае — рад, что оказался неправ: p