Форум программистов, компьютерный форум, киберфорум
JavaScript: HTML5 Canvas
Войти
Регистрация
Восстановить пароль
 
9 / 9 / 1
Регистрация: 17.03.2021
Сообщений: 19
1

Как лучше всего делать звук в браузерной игре?

17.03.2021, 20:42. Показов 348. Ответов 2

Доброго времени суток!

Решил в свободное время вспомнить молодость и запилил на Арканоид на js/canvas: [del] Игрушка отлично работает и на декстопе и на смартфонах, и вполне даже залипательная получилась

Однако, пока не разобрался, как правильно звуки делать. Сначала сделал через интерфейс Audio(), слегка заморочившись на то, чтобы можно было одновременно несколько звуков играть, путем дублирования объектов. В Chrome было отлично, но вот в Opera и на айфоне - огромные лаги и никакого одновременного проигрывания. Играть из-за лагов совсем невозможно. Почитал, что есть более правильный интерфейc - AudioContext, переделал все на него. Но результат опять же - в хроме все отлично, как и было, а на айфоне и в опере вообще тишина.

Коллеги, у кого есть опыт настройки звука в браузерных игрушках в реальном времени, поделитесь пожалуйста секретами мастерства. Может статья есть где хорошая об этом?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2021, 20:42
Ответы с готовыми решениями:

Что лучше всего читать/смотреть где лучше всего практиковаться и как в принципе лучше всего учиться программированию
Здравствуйте,извините за вопрос не по теме но: уже около пол года изучаю С языки и начал понимать...

Каким лучше всего делать сайт?
Ребят, подскажите каким делать свой сайт ? Тоисть его делать динамическим или статическим ? ...

Где лучше всего делать сайты на HTML?
Лучше всего в блокнотах или есть спец. программы куда код писать ?

Как написать бота к браузерной игре?
Всем привет. Помогите разобраться. Вот на днях решил сделать бота для онлайн игры на флеше. В своё...

2
9 / 9 / 1
Регистрация: 17.03.2021
Сообщений: 19
20.03.2021, 15:53  [ТС] 2
Все, сам разобрался. Было несколько мелких багов, плюс надо было учесть кучу разных мелких особенностей. Опубликовал новую версию, если кому интересно, можете потестировать в этой ветке.
1
Юзер с абсолютным слухом
669 / 464 / 186
Регистрация: 17.12.2010
Сообщений: 1,361
17.04.2021, 11:07 3
Цитата Сообщение от tomater
более правильный интерфейс
Это не более правильный правильный подход, а всего лишь audio для одного, а audioContext для другого. Во втором случае имеете дело с WebAudio Api, и он предназначен для обработки звука в реальном времени на сайте, добавления фильтров, задержки (реверберато), других эффектов, или для синтеза звуков с нуля. Соответственно audioContext больше грузит проц и память. Допускается одновременное открытие не более 6 аудиоконтекстов, только я не помню, в пределах одного браузера, включая все окна и вкладки, или в пределах всего компьютера.
В Вашем случае не нужно обрабатывать звук на сайте, а только воспроизвести мп3, в котором записан уже обработанный звук. Для этого вполне достаточно элемента аудио.
А для того, чтобы звуки могли играть одновременно, нужно при каждом событии в игре создавать новый элемент аудио, а по окончании воспроизведения удалять, чтобы не нагромождать память.
Javascript
1
2
3
4
5
function playsound(src){
   var audio = new Audio(src);
   audio.play();
   audio.onended = function(){this.remove()};
}
А вот audioCtx.decodeAudiodata(); работает только с маленькими аудиофайлами, если попытаетесь воспроизвести длинную приветственную мелодию, может не хватить оперативной памяти.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2021, 11:07

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Чем лучше всего делать current sink до 400mA?
Рулить "сливом" от ноги STM32, родная лапа на такое не потянет - отсюда необходимость слепить...

По каким данным лучше всего делать регистрацию в программе
сабж. Кроме айди винды есть что нибудь более серьезное? какие варианты есть скажите если нетрудно.

На каком движке лучше всего делать сайт для сервера Minecraft?
Посоветуйте Пожалуйста на коком движке лучше всего делать сайт для сервера Minecraft?

Как думаете где лучше указать лицензию мит для браузерной игры?
Как думаете где лучше указать лицензию мит для браузерной игры? Суть лицензии в том что просто...

Подключение к браузерной игре
Возможно ли подключить на писаную на C# программу к браузерной игрушке к примеру заполнить поле и...

Автокликер в браузерной игре
Всем привет Я вот хотел бы получить советы как сделать на делпхи прогу для автоматизированой игры...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.