我是Framer的新手,只有Javascript的工作知识。
我正在尝试使用Framer Audio Player模块创建一个Framer原型。它适用于我提出的基本情况,但现在我正在尝试做一些稍微复杂的事情,我会陷入困境。
我正在尝试做什么: 我想在悬停时播放一个音频片段。如果用户在音频片段的持续时间内保持悬停,那么,一旦第一个片段结束,另一个“成功”片段应该播放一次。
在下面的代码中,第一个剪辑可以正常播放,但第二个剪辑会反复重复播放。我尝试使用.once()
,输入 - 试用和错误样式 - 各种形式的'audio.player.once "ended", ->'
和'audio.player.play().once'
,但这种方法无效。我也找不到Framer文档中的.once
。
这是我的Framer / CoffeeScript代码段:
mouseOver = (bool) ->
if bool
goal.animate
properties:
opacity: .5
backgroundColor: "transparent"
borderColor: "8AFFC1"
borderWidth: 3
sensor.animate
backgroundColor: "green"
options:
time: 0.25
audio.player.play() # play first clip
audio.player.loop = false
audio.player.on "ended", -> # when first clip has ended...
print "done"
audio.player.src = "success.wav"
audio.player.play() # I only want this to play once!
else
goal.animate
properties:
opacity: 1
backgroundColor: "transparent"
borderWidth: 3
borderColor: "white"
sensor.animate
backgroundColor: "red"
options:
time: 0.25
audio.player.pause()
reset = !bool
我觉得这里可能有一个直截了当的答案,但是我的有限理解让我感到沮丧。有人有想法吗?谢谢!
答案 0 :(得分:0)
嗯,所以,我觉得这是作弊,但我创造了一个新的音频对象,成功的声音和瞧,我得到了我想要的行为。叹息。
但是,如果有人能够帮助我理解为什么上面的代码不起作用,我将不胜感激。 :)