За несколько месяцев до того, как я столкнулся с той же проблемой при разработке фортепиано в HTML5.Когда клавиша нажималась снова и снова, мне приходилось останавливаться, перематывать и воспроизводить звук при каждом нажатии клавиши.Я использовал тот же код, написанный в этом вопросе, который работал в Firefox и Safari, но не в Chrome.В Chrome он не играл снова.Наконец мне пришлось изменить код, чтобы он заработал.Добавлен один прослушиватель для события onseeked
, затем установлено currentTime = 0
и в обработчике события вызвано play
.Это сработало для меня.Точно так же мне пришлось ждать события одного действия, прежде чем давать следующее действие во многих местах.Это была старая версия Chrome.Позже я узнал, что даже некоторые версии браузеров поддерживают аудио, способ, которым каждая из них поддерживает, немного отличается.Эта разница не будет заметна, если мы просто поместим звуковую метку и воспроизведем аудио, но возникнет, когда мы попытаемся управлять звуком с помощью Javascript.В любом случае, все о старых версиях браузеров, гораздо лучше во всех последних версиях.Поэтому, пожалуйста, проверьте последнюю версию Chrome (даже если мое пианино работало в Chrome 10 без изменения кода), и в отношении формата аудио я бы посоветовал вам сохранять файлы mp3 и ogg вашего аудио вместо одного файла wav.