2011-01-18 4 views
9

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

Как я coulnd't найти ответ на Интернете, я прошу вас :)

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

+0

Я думаю, что он кэширован. – super

ответ

0

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

Похоже, кто-то пытался это уже: Is it possible to use data URIs in video and audio tags?

-1

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

+0

Плакат требует одновременного воспроизведения нескольких экземпляров одного и того же звука. – glomad

+0

@ithcy точно;) – pictuga

+0

Итак, используйте cloneNode(). Play(). – Triang3l

Смежные вопросы