Как воспроизводить звуки в HTML5 после анимации?
Мне трудно играть звук в игре, которую я сейчас разрабатываю.
Мне нужно воспроизводить звук после анимации, но когда я пытался вызвать sound.play().
А браузер утверждает, что вы можете воспроизводить звук только с помощью человеческих жестов?
Любой, у кого есть некоторые трюки, пожалуйста, поделитесь здесь Благодарю.
ДОБАВЛЕНО ============
У меня эта проблема в мобильных устройствах.
2 ответа
Пример вашего кода будет полезен, но этот вопрос помечен jQuery
поэтому я предполагаю, что вы ищете решение для этой библиотеки. А также jQuery.animate
принимает обратный вызов и запускает его после завершения анимации, смотрите:
$( "#element").animate({
opacity: 0.25
}, 5000, function() {
// animation is complete
// play your sound here
});
Вы можете найти больше примеров в документации.
@Remek ответ правильный, если вы используете JQuery для анимации, но вы также пометили TweenJS, так что вы можете использовать call
, который ставит в очередь вызов функции в очереди TweenJS.
createjs.Tween.get(obj)
.to({x:1000}, 3000, createjs.Ease.quadOut)
.call(function(tween) {
createjs.Sound.play("soundId");
});
Вы можете использовать вызов в очереди Tween или в конце. Обратите внимание, что подростки также отправляют события, но имеют только событие "изменение", а не событие "завершено", поскольку подростки могут быть зациклены, перевернуты и постоянно соединены в цепочку для добавления дополнительных анимаций, поэтому они на самом деле не "завершаются". Вот почему call
метод существует.
call
Метод также принимает параметры и область действия функции. http://www.createjs.com/docs/tweenjs/classes/Tween.html
Что касается вашего вопроса о "человеческих жестах", это относится в основном к мобильным платформам, где вы должны щелкнуть что-либо, чтобы воспроизвести звук (который разблокирует аудиоконтент, поэтому это должно произойти только один раз). Последний SoundJS автоматически обрабатывает это для вас, автоматически воспроизводя пустой звук при нажатии (даже для прокрутки). Обратите внимание, что использование свитков для этого устарело, поэтому пользователю, возможно, придется что-то "щелкать / нажимать", чтобы это работало должным образом - но SoundJS будет обрабатывать разблокировку для вас в этом случае.
Приветствия.