Jquery 动画制作后如何在HTML5中播放声音?

Jquery 动画制作后如何在HTML5中播放声音?,jquery,html,html5-audio,createjs,tweenjs,Jquery,Html,Html5 Audio,Createjs,Tweenjs,在我正在开发的游戏中,如何播放声音让我感到很困难 我需要在动画之后播放声音,但当我尝试调用sound.play()时 而浏览器的状态是你只能用手势播放声音 任何人都可以在这里分享一些技巧。谢谢 增加============ 我在移动设备中遇到了这个问题。您的代码示例将很有帮助,但是这个问题被标记为jQuery,因此我假设您正在寻找此库的解决方案。和jQuery.animate在动画完成后执行回调,看: $( "#element").animate({ opacity: 0.25 },

在我正在开发的游戏中,如何播放声音让我感到很困难

我需要在动画之后播放声音,但当我尝试调用sound.play()时

而浏览器的状态是你只能用手势播放声音

任何人都可以在这里分享一些技巧。谢谢

增加============


我在移动设备中遇到了这个问题。

您的代码示例将很有帮助,但是这个问题被标记为
jQuery
,因此我假设您正在寻找此库的解决方案。和
jQuery.animate
在动画完成后执行回调,看:

$( "#element").animate({
    opacity: 0.25
  }, 5000, function() {
    // animation is complete
    // play your sound here
});

您可以在中找到更多示例。

@Remek的答案是正确的,如果您使用jQuery制作动画,但是您还标记了TweenJS,因此您可以使用将函数调用排入TweenJS队列的
调用

createjs.Tween.get(obj)
    .to({x:1000}, 3000, createjs.Ease.quadOut)
    .call(function(tween) {
        createjs.Sound.play("soundId");
    });
您可以在中间队列中使用呼叫,也可以在末尾使用呼叫。请注意,tweens也会发送事件,但只有“更改”事件,而不是“完整”事件,因为tweens可以循环、反转并不断链接以添加其他动画,所以它们不会真正“完整”。这就是
调用
方法存在的原因

调用
方法也接受参数和函数范围。


关于你关于“人类手势”的问题,这主要适用于移动平台,在移动平台上,你必须点击某个东西才能播放声音(这会解锁音频上下文,所以只需发生一次)。最新的SoundJS会自动为您处理这些问题,当您按下时会自动播放空音(即使是滚动)。请注意,使用卷轴来实现这一点已被弃用,因此用户可能必须“单击/点击”某些东西才能正常工作-但在这种情况下,SoundJS将为您处理解锁


干杯。

您必须发布一些代码,通常播放声音是非常简单的,您只需使用音频标签或
新音频
在这些评论中,在回调中,我建议使用Howler.js音频库,用于处理动画。您好,我很感谢您的回答,但此代码在移动设备上不起作用,因为浏览器声明您只能使用手势播放声音。您好,谢谢您的回答,您是否尝试在移动设备上运行此代码?我试过了,但我仍然有一个问题,“你只能用手势播放声音”见我上面添加的部分——你需要在设备上进行物理点击以解锁音频上下文。