Your browser does not support web audio api что делать в игре
Your browser does not support web audio api что делать в игре
Игра работает на WebGL, который поддерживается почти всеми современными браузерами. Необходимости в установке старых версий браузеров с поддержкой UnityWeb более нет.
Системные требования игры
Минимальные:
ОС: Windows 7,8.1,10
Процессор: Pentium 4 2.4 GHz
Оперативная память: 1 GB ОЗУ
DirectX: Версии 9.0b
Сеть: Широкополосное подключение к интернету
Место на диске: 250 MB
Рекомендованные:
ОС: Windows 7,8.1,10
Процессор: Core i3
Оперативная память: 4 GB ОЗУ
Видеокарта: GeForce GT520
DirectX: Версии 11
Сеть: Широкополосное подключение к интернету
Место на диске: 250 MB
Ошибка: Your browser does not support WebAssembly.
Решение: Обновите браузер до последней версии. WebGL лучше всего работает на Mozilla и Chrome.
Ошибка: Memory access out of bounds.
Ошибка: Вечная загрузка (черный экран).
Решение 1: Перезапустите игру и подождите до 30 секунд. Если не поможет, попробуйте еще пару раз. При этом выключите все лишние программы.
Решение 2: Запускайте игру «от имени администратора». У некоторых учетных записей могут наблюдаться проблемы с запуском игр в случае, если выставлены ограничения на права.
Решение 3: Выключите игру и закройте лаунчер. Нажмите Win+R. В появившемся окне напишите %appdata%. Нужно пройти по такому пути AppData\LocalLow\Novalink\. Удалите все файлы в папке Novalink. Запустите лаунчер. Нельзя удалять папки Local, LocalLow и Appdata! Windows может перестать работать.
Your browser does not support web audio api что делать в игре
I’m having this error message when I install the APK file of the game on my Android phone Samsung Galaxy Duos with Android 4.0. I followed the documentation from RPG Maker MV help and the android build was successful.
The game runs fine on my friend’s device which is on Android 5.1. Is this related to the Android 6.0 SDK update? because the only thing different from the guide is the SDK was for Android 5.1.
Thanks for in advance for the help.
I also encountered this problem on an older device (an Acer A500). I tried another device and it worked fine. Hopefully the app stores will be able to figure out which devices will not run games created with RPG Maker MV in order to reduce the number of unhappy customers.
Android 5.x+ has access to an updatable web view (https://play.google.com/store/apps/details?id=com.google.android.webview&hl=en), while older versions of Android do not. While it is of minor concern for browser usage (Chrome and Firefox will ship their own web view, iirc), it just means that any apps that make use of Android webview on older devices won’t have the latest functionality.
In theory, using Crosswalk (https://crosswalk-project.org/) as Degica/Kadokawa suggests should work around this, as Crosswalk is an updated webview that will run on 4.0+. While their tutorial in the help file suggests an older version of the web view, make sure you’re using the latest stable.
I also encountered this problem on an older device (an Acer A500). I tried another device and it worked fine. Hopefully the app stores will be able to figure out which devices will not run games created with RPG Maker MV in order to reduce the number of unhappy customers.
Тема: Проблемы при запуске собранного пакета на Android
Опции темы
Поиск по теме
Отображение
RPG Maker MV 1.2.0. Попробовал собрать проект для Android по методике, изложенной в файле помощи. Использовал перевод этого раздела на http://strelokhalfer.github.io/.
Запустил сборку, проект собрался. Но когда запускаю собранный и установленный пакет на устройстве, появляется сообщение «Error. Your browser does not support Web Audio API.»
Устройство не самое современное (игровая консоль JXD), но на нём работает большинство запускаемых игр, в том числе и довольно «тяжёлых». Можно ли устранить проблему с этой ошибкой?
Дело в том, что мейкер использует стандартный WebView устройства, и если устройство не совсем современное, этот вебвью соответственно старое.
И единственное решение что сразу приходит в голову, это обновить вебвью с плеймаркета, но требуется пятый андроид.
Хотя, мне казалось, что CrossWalk должен использовать вебвью от хрома.
Upd: Собвстенно, попробуй скачать самую последнюю версию кроссволк, а не ту, что предлагает справка.
А есть возможность запустить проект на Андроиде версии 4?
Сейчас попробую скачать последний Кроссвок. Не сразу заметил дополнение сообщения
Тогда попробуй на версию ниже и так далее. Или спроси на 4pda, может там подскажут.
Написал на 4pda, посмотрим.
У кого есть опыт запуска проекта для Android версий младше 5?
В общем, качество работы под Android 5.1 разочаровало. Если с «заеданиями» экрана можно как-то мириться, то ситуация с музыкой меню заставляет задуматься, какой ещё фокус может выкинуть собранный под Android проект. Что касается Android 4.1+, то запустить на этой версии собранный проект не получилось. Грустно, в общем, MV разочаровал в плане сборки под Android. С GMS таких проблем не было, собранные на нём, на Android 4+ работают быстро и стабильно, у меня, во всяком случае.
Кстати, пока что не понял, где при использовании метода сборки http://strelokhalfer.github.io/page/01_11_05.html находится (и откуда берётся) Keystore и прочие параметры, требующиеся при сборке под Android. Укажите, пожалуйста, в нужную сторону.
Web Audio API – новые возможности генерации, обработки и объемного распределения звука в браузере.
Web Audio API – одна из новинок, которая значительно расширяет возможности web приложений при работе со звуком. Это мощнейший инструмент, без которого Вам сложно будет обойтись в будущем при разработке современных игр и интерактивных веб приложений. API достаточно высокоуровневый, продуман до мелочей, самодостаточен, легок в освоении и особенно элегантно интегрируется в приложения, использующие WebGl и WebRTC.
Если вы лучше воспринимаете видео, можете посмотреть мое выступление по мотивам этой статьи на Web Standards Days в на Yandex Events (Декабрь 2013)
Но, все же, в статье все описано более развернуто 😉
Немного истории…
Прошло несколько лет и в браузерах начали активно использоваться сторонние плагины. Проигрывать аудио стало возможным с помощью Flash, Silverlight, QuickTime и т.п. Все они хорошо выполняли свою роль, но все же плагин имеет кучу недостатков. Поэтому возможность иметь инструмент для работы со звуком, поддерживаемый веб стандартами, уже давно будоражила умы разработчиков. С массовым приходом мобильных браузеров, не поддерживающих Flash, проблема стала еще острее.
Мы поговорим о Web Audio API, который призван выполнять гораздо более интересные, разносторонние и сложные задачи.
web audio API – это НЕ элемент и НЕ его надстройка.
Задачи, которые призван решать элемент :
Задачи, которые призван решать Web Audio API :
Преимущества Web Audio API
Проблемы на текущий момент (10.2013)
Начинаем погружение. Audio context
Одним из основополагающих понятий при работе с Web Audio API является аудио контекст.
Пока спецификация находится в черновике, в webkit браузерах нужно использовать webkitAudioContext. Т.е что-то наподобие:
У одного документа может быть только один контекст. Этого вполне достаточно для всего спектра задач решаемого Web Audio API. Наличие одного аудио контекста позволяет строить сколь угодно сложные аудио графы с неограниченым количеством источников и получателей звукового сигнала. Практически все методы и конструкторы для создания аудио модулей являются методами аудио контекста.
Возможные источники звукового сигнала:
Возможные получатели звукового сигнала:
Строим графы (схемы обработки аудио)
В любой задуманной Вами схеме может быть один или несколько источников и получателей звукового сигнала, а также модули для работы со звуком (далее мы рассмотрим каждый из них подробнее). Схема может быть с прямыми и обратными связями, каждый модуль может иметь сколь угодно много входов/выходов. Всю заботу о правильном функционировании берет на себя API. Ваша задача состоит в том, чтобы соединить все правильно. Давайте представим себе некую абстрактную схему, просто чтобы разобраться, как она строится при помощи кода.
Предзагрузка аудио и воспроизведение
Давайте рассмотрим простейший, но довольно типовой пример работы с web Audio API, где источником звукового сигнала является буфер, созданный из аудио файла, предзагруженного с помощью XMLHttpRequest (AJAX), а получателем является системный звуковой выход.
Давайте опробуем этот код в действии. Этот и все остальные примеры работают в webkit, чтобы объяснить основные принципы API. Целью статьи не было сделать их рабочими во всех браузерах 🙂
Модули
Web Audio API содержит десятки высокоуровневых, конфигурируемых и готовых к использованию модулей. Это усилители, линии задержки, фильтры, модули свертки, сплитеры и мержеры каналов, 3D паннеры и т.д. Вы можете создавать сложнейшие графы обработки и синтеза звука, просто соединяя готовые блоки и конфигурируя их. По простоте использования это немного напоминает детский конструктор, но, в отличии от него, здесь Вы можете создавать очень крутые вещи!
Давайте рассмотрим основные модули, начиная с самых простых.
Gain (Усилитель)
Модуль позволяет изменять уровень звукового сигнала.
Вставляем усилитель в вышеописанную схему между источником и получателем:
И начинаем воспроизведение:
Мы не будем приводить код примера, дабы не засорять статью, однако Вы всегда можете открыть пример в новом окне, проинспектировать и посмотреть, как он работает.
Delay (Линия задержки)
Этот модуль позволяет задерживать звук на определенное время.
Создается и конфигурируется по такому же принципу, как вышеописанный gain.
Давайте для закрепления основных принципов создадим простую схему с бесконечным зацикливанием сигнала, используя gain для ослабления сигнала и delay для задержки. Так мы получим простейший “эхо” эффект.
Надо сказать, что это не самый лучший образец того, как нужно делать “эхо” эффект, и годится он только в качестве примера. Настоящее реалистичное эхо можно достигнуть с помощью модуля свертки звукового сигнала. Давайте рассмотрим его подробнее.
Convolution ( Свертка )
Говоря простым языком, свертка – это математическая операция, такая же как сложение, умножение или интегрирование. При сложении двух исходных чисел получается третье, при свертке – из двух исходных сигналов получается третий сигнал. В теории линейных систем свертка используется для описания отношений между тремя сигналами:
Другими словами, выходной сигнал равен свертке входного сигнала с импульсной характеристикой системы.
Что такое входной и выходной сигнал, вроде итак понятно. Осталось только разобраться со “страшным” словом импульсная характеристика (impulse response) 🙂
Давайте рассмотрим жизненный пример и все сразу станет ясно.
Вы пришли в лес. Громко крикнули что-нибудь своему другу. Что он услышит? Правильно! Ваш голос, только немного искаженный и с эффектом множественного эха. Дело в том, что совокупность аккустических колебаний, генерируемая Вашими связками и гортанью, прежде, чем попасть в ушную раковину Вашего друга, будет несколько изменена под воздействием окружающего пространства. Преломления и искажения возникнут, например, из-за влажности в лесу. Определенная часть энергии аккустического колебания будет поглощена мягким покрытием из мха. Также звук будет отражен от сотен деревьев и окружающих Вас предметов, находящихся на разном удалении. Можно еще долго перечислять все эти факторы, но давайте разберемся в том, какое отношение все это имеет к свертке 🙂
Вы уже наверно поняли, что в описанной ситуации входным сигналом (источником сигнала) будет то, что кричите Вы. Выходным же сигналом будет то, что слышит Ваш друг. А вот лес можно представить себе как линейную систему, способную изменять характеристики сигнала по неким правилам, зависящим от огромного набора факторов. Не вникая в теорию, всю эту савокупность правил можно представить в виде так называемой импульсной характеристики.
Эхо в пещере, специфический шум при проигрывании старой пластинки, искажения голоса водителя троллейбуса, ворчащего в старый микрофон – все эти звуковые эффекты можно однозначно представить их импульсными характеристиками.
Вот небольшая демка. Переключая эффекты, Вы всего лишь изменяете ту самую импульсную характеристику, которая является основным параметром для модуля свертки.
Модуль свертки создается, подключается и конфигурируется точно также, как и все остальные модули.
Где найти импульсные характеристики для различных эффектов? Ищите в гугле что-то типа “download free impulse response” и найдете их в огромном количестве. Например, тут, тут или тут.
В конце статьи будет несколько ссылок для желающих разобраться со сверткой подробнее. Движемся дальше и переходим к не менее интересной теме – фильтрации в Web Audio API.
Filter ( Фильтрация )
Под фильтрацией в цифровой обработке сигналов чаще всего подразумевают частотную фильтрацию. Если Вы знаете, что такое спектр сигнала, преобразование Фурье и амплитудно-частотная характеристика фильтра, то просто посмотрите пример. Если же Вы вообще не в курсе, что это такое, и времени разбираться нет, попробую объяснить на пальцах.
Все пользовались эквалайзером в любимом winamp, aimp, itunes и т.п., наверняка, пробовали разные предустановленные режимы (бас, диско, вокал) и обязательно дергали ползунки на разных частотах, пытаясь добиться нужного звучания. Эквалайзер представляет собой устройство, которое может как усилить, так и ослабить определенные частоты (низкие, высокие частоты и т.п.)
Так вот, не вдаваясь в детали
Говоря простым языком, с помощью Web Audio API Вы можете добавить такой “эквалайзер” (фильтр) в свой граф обработки сигнала в виде модуля.
С настройкой амплитудно-частотной характеристики все будет немного сложнее. Дело в том, что исторически все распространенные типы фильтров уже имеют физические аналоги, у которых есть определенные параметры, характеризующие эти фильтры.
Вот список фильтров доступных из коробки:
Для того, чтобы настраивать эти фильтры, существует несколько параметров, которые, как мы уже сказали, есть у физических аналогов фильтров. Эти параметры можно найти во всех книжках по теории обработки сигналов.
Тут нужно сказать, что не все параметры актуальны для конкретного типа фильтра (подробнее можно посмотреть тут)
Если Вы напуганы обилием новых слов, не расстраивайтесь!
На деле все обстоит намного проще, чем в теории. Давайте пробовать разбираться на живом примере, изменяя параметры. Гарантирую, что все станет намного понятнее.
Анализатор
Анализатор предназначен для того, чтобы получать информацию о частотных и временных параметрах сигнала в виде массива данных. Как только Вы получите этот массив, сможете анализировать и визуализировать все, что происходит со звуком. Типовые примеры использования:
Генератор
Генератор позволяет синтезировать сигналы различной формы и частоты. Все управляется 3-мя параметрами:
А теперь соединяем генератор с вышеописанным анализатором и смотрим, что получилось.
Все становится понятнее, если самостоятельно поиграться с демкой.
3D звук
Ну вот мы и добрались до самой крутой штуки в Web Audio API – распределения звука по каналам в трехмерном пространстве. Начнем с примера:
Что мы видим? Это типовая сцена 3D шутера. В ней есть герой, которого мы видим сзади. Он издает несколько звуков (бежит и стреляет), есть много нечисти, которая мечется и издает различные звуки, находясь на разном расстоянии от героя, есть фоновая музыка, есть ветер, который шумит вокруг и т.п.
Для того, чтобы сделать эту звуковую сцену 3D-реалистичной и объемной, нужно очень точно распределить звуки по каналам, в зависимости от положения, координат и скорости каждого из персонажей. В добавок ко всему, каналов может быть 2 (стерео), 5 (Dolby Digital), 8 (Dolby TrueHD), в принципе, сколько угодно, в зависимости от звуковой карты и установок системы. Да еще звуки от движущихся объектов должны иметь доплеровское смещение по частоте. Ну, и самое печальное то, что Ваше положение как слушателя, тоже меняется, если Вы смотрите на героя сбоку.
Возникает вопрос, как все просчитать? И вот она, самая главная фича – Web Audio API все сделает за Вас, т.е. вообще не надо ничего просчитывать. Нужно просто описать несколькими строчками кода координаты, направление и скорость движения каждого из источников звука и слушателя. И все! Всю остальную грязную работу берет на себя API, который распределит звук по каналам, учитывая при этом их количество, добавит доплера там, где надо и создаст сногсшибательный 3D звук.
Как я уже говорил не раз, все очень хорошо продумано. В Web Audio API имеется специальный модуль, который называется паннер (panner). Его можно мысленно представить, как летающую в пространстве колонку. И таких колонок может быть сколь угодно много.
Каждый паннер описывается:
В добавок к этому Вы, как слушатель ( context.listener ), тоже описываетесь:
По-моему, это очень круто!
Что еще?
Вот еще несколько интересных модулей с которыми можно что-нибудь придумать:
А здесь можно найти спецификацию, что-бы ощутить всю глубину web audio API.
А теперь ссылки и демки!
Эта статья опубликована во время конференции Minsk Web Standard Days 2013. Сама презентация есть тут и работает в webkit браузерах.
Жду вопросов, эмоций, критики, советов и т.п. в комментариях.
Web Audio API
Общие концепции и использование Web Audio
Простой, типичный порядок действий выполнения манипуляций над аудио выглядит так :
Распределение времени контролируется с высокой точностью и низкими задержками, позволяя разработчикам писать код, что точно реагирует на события и в состоянии обработать образец даже на высокой оценке образцов (sample rate). Так что такие приложения как ритм-компьютер и программный автомат всегда под рукой.
Web audio API также даёт нам возможность контролировать то, каким аудио является в пространстве. Используя особую систему, что базируется
на модели source-listener, он позволяет контролировать модель панорамирования и обходиться без дистанционно-вызванного ослабления (distance-induced attenuation) или duppler shift, вызванного сдвигом источника (или сдвигом слушателя).
Помните: вы можете прочитать более детальный теоретический материал о Web audio API в нашей статье Basic concepts behind Web Audio API.
Web Audio API интерфейсы
В Web audio API есть всего 28 интерфейсов и соответствующих событий, которые мы сгруппировали в 9 категорий по функциональности.
Главные объекты определения аудио
Главные контейнеры и определения, что формируют аудио объект в Web Audio API.
Источники звука
Интерфейсы, которые определяют источники звука для использования в Web Audio API.
Аудио фильтры
Интерфейсы для определения эффектов которые можно применить к источникам звука.
Defining audio destinations
Once you are done processing your audio, these interfaces define where to output it.
Анализ и визуализация данных
If you want to extract time, frequency and other data from your audio, the AnalyserNode is what you need.
AnalyserNode The AnalyserNode interface represents a node able to provide real-time frequency and time-domain analysis information, for the purposes of data analysis and visualization.
Splitting and merging audio channels
To split and merge audio channels, you’ll use these interfaces.
ChannelSplitterNode (en-US) The ChannelSplitterNode interface separates the different channels of an audio source out into a set of mono outputs. ChannelMergerNode (en-US) The ChannelMergerNode interface reunites different mono inputs into a single output. Each input will be used to fill a channel of the output.
Audio spatialization
These interfaces allow you to add audio spatialization panning effects to your audio sources.
AudioListener (en-US) The AudioListener interface represents the position and orientation of the unique person listening to the audio scene used in audio spatialization. PannerNode The PannerNode interface represents the behavior of a signal in space. It is an AudioNode audio-processing module describing its position with right-hand Cartesian coordinates, its movement using a velocity vector and its directionality using a directionality cone.
Audio processing via JavaScript
If you want to use an external script to process your audio source, the below Node and events make it possible.
Note: As of the August 29 2014 Web Audio API spec publication, these features have been marked as deprecated, and are soon to be replaced by Audio_Workers.
Offline/background audio processing
It is possible to process/render an audio graph very quickly in the background — rendering it to an AudioBuffer rather than to the device’s speakers — with the following.
Audio Workers
Obsolete interfaces
The following interfaces were defined in old versions of the Web Audio API spec, but are now obsolete and have been replaced by other interfaces.
Пример
This example shows a wide variety of Web Audio API functions being used. You can see this code in action on the Voice-change-o-matic demo (also check out the full source code at Github) — this is an experimental voice changer toy demo; keep your speakers turned down low when you use it, at least to start!
The Web Audio API lines are highlighted; if you want to find more out about what the different methods, etc. do, have a search around the reference pages.