Я пытаюсь написать приложение javascript, которое использует API [SoundManager 2][1] и стремится работать во всех настольных и мобильных браузерах. На платформе iPad Soundmanager использует аудио API HTML5, так как есть поддержка флэш-памяти. Теперь, когда я пытаюсь воспроизвести два аудиофайла подряд, оба загружаются в ответ на событие click, иногда возникает событие [HTML5::stalled][2]. Как настроить обработчик событий для перехвата остановленного события?
Поскольку звуковые объекты в моем приложении создаются на лету, и я не знаю, как получить прямой доступ к тегам, созданным SoundManager, я попытался использовать делегата для обработки зависшего события:
document.delegate('audio', 'stalled', function (event) {...});
Это не работает. событие не возникло в ответ на остановку. (У меня было предупреждение в моем обработчике).
Также пытался использовать [Sound::onsuspend()][3] для прослушивания зависания, но onsuspend выскакивает в конце sound::play(). Как мы можем отличить остановку от других событий, которые могут вызывать audio::suspend? Есть ли другой способ получить доступ к тегам, которые SoundManager должен создать для воспроизведения аудио в формате HTML?