Я использую javascript shim, называемый audio.js, для подачи звука HTML5 со вспышкой. Я работаю сейчас во всех современных браузерах и Android и iOs, но есть одна проблема, которую я просто не могу исправить, и это то, что в Firefox или Android, когда я использую обратный вызов, выпущенный после окончания дорожки, я не могу воспроизвести аудио. Файл застревает в конце воспроизведения.javascript shim for HTML5 Проблемы со звуком
Проект представляет собой слайд-шоу, логика которого зависит от обратных вызовов, которые запускаются, когда заканчивается каждый трек. Вот как я пытаюсь использовать функцию обратного вызова:
audio.trackEnded=function() {
// operate on the DOM
}
и вот бит от audio.js API:
trackEnded: function(e) {
this.skipTo.apply(this, [0]);
if (!this.settings.loop) this.pause.apply(this);
this.settings.trackEnded.apply(this);
}
у меня не было никакой удачи углубляясь в API, чтобы попытаться выяснить как сбросить аудиофайл. Все, что я знаю, это то, что независимо от того, что я ввел в функцию trackEnded, в браузерах, которым нужна вспышка, файл зависает в конце, а когда я удаляю эту функцию, звук сбрасывается просто отлично. И пытаясь работать с самим аудиоэлементом, установив currentTime = 0; ломает все это.
Вот демо аудио замораживания, который вы можете увидеть после нажатия в слайд-шоу:
http://www.jontakiff.com/audio-playback/skeleton.html
Любое понимание того, как я мог бы идти о решении это было бы супер цениться.
Edit: вот ссылка на audio.js API: http://kolber.github.com/audiojs/docs/
Вы кодируете в чистом javascript, или вы используете библиотеку, такую как jQuery, dojo или Mootools? –
Я использую jQuery. – johnnyb