HTML5 Audio Воспроизводит Случайно - PullRequest
11 голосов
/ 14 декабря 2010

Я реализую звуковые эффекты в аудио HTML5, но через некоторое время он просто перестает воспроизводить любой звук. Тип файла правильный, потому что он запускается нормально, но затем, кажется, сдается.

var sound = new Audio(url);
function play() {        
    sound.play();
}

Есть ли лучший способ сделать это, чтобы он последовательно воспроизводил звук?

Вот ссылка на мою реализацию. Легко воспроизвести, нажимая пробел много раз, пока он в конце концов не сдастся (также снимайте свет для добавления звуков). http://craftyjs.com/elevatoraction/

Это происходит для меня в последней версии Chrome (8.0)

Редактировать: Я сделал так, как предложил Гаурав, и проиграл только один и тот же экземпляр каждого звукового файла, но проблемы такого же рода присутствуют. Он произвольно прекратит играть.

Редактировать 2: Я только что заметил, что всякий раз, когда я пытаюсь воспроизвести звук, networkState всегда 1, что в соответствии с это означает, что он не полностью загружен , Это странно видеть, так как он все еще играет иногда, и даже когда он играет, networkState всегда 1

1 Ответ

6 голосов
/ 14 декабря 2010

Не создавайте новый аудиообъект каждый раз, когда вы хотите воспроизвести звук, используйте один и тот же ресурс.

var sound1 = new Audio(url);
function playSound1() {
    sound1.play();
}

Я думаю, что это связано с ошибкой http://code.google.com/p/chromium/issues/detail?id=57070

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