Воспроизвести несколько экземпляров html5-объекта Audio - PullRequest
9 голосов
/ 18 января 2011

Я делаю небольшую игру на Javascript, и она требует аудио для лучшего взаимодействия с пользователем.Основная проблема, с которой я столкнулся, заключается в том, что мне приходится проигрывать одну песню / звук несколько раз, а иногда одновременно.Однако, если я клонирую Узел Audio, аудио загружается еще раз с сервера, и, следовательно, воспроизводится только последним, так как оно должно быть загружено первым.Поэтому во время обычной игры звук может быть загружен более 100 раз!

Поскольку я не могу найти ответ в Интернете, я прошу вас:)

Обратите внимание, что я хочусделайте это с моим собственным кодом, а не с библиотекой.

Ответы [ 2 ]

0 голосов
/ 19 января 2011

Нет необходимости клонировать узел аудиообъекта. Просто вызовите play () для того же объекта из JavaScript, и он будет воспроизводиться при каждом вызове функции. Если он уже играет, он перезапустится. Смотри https://developer.mozilla.org/En/Using_audio_and_video_in_Firefox#Controlling_media_playback

0 голосов
/ 18 января 2011

Я не проверял это, но, возможно, стоит попробовать использовать URI данных для источника аудиоклипов, которые должны воспроизводиться одновременно.Это предотвратит попадание сервера при клонировании элемента - хотя тот факт, что он загружается каждый раз, действительно звучит как ошибка браузера.Я думаю, что его следует извлечь из кэша браузера.

Похоже, кто-то уже пробовал это: Можно ли использовать URI данных в тегах видео и аудио?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...