我正在开启声音开关,但是当我使用“audio.setVolume(0.0)”和“audio.setVolume(0.7)”时它可以工作,但是当我尝试使用“淡入淡出”时“fadeOut”功能它可以将声音关闭,就像我想要的那样,但是再也没有。
function onOFF(event)
if event.phase == "began" then
if sound == 1 then
sound = sound + 1
audio.fadeOut({ channel=setVolume, time=500 } )
switchoff()
elseif sound == 2 then
sound = sound - 1
audio.fade({ channel=setVolume, time=500, volume=0.7 } )
switchon()
end
end
end
我可以看到这个的原因,有什么帮助吗?
function switchon()
screenGroup = self.view
SwitchOff = display.newImage("soundISon.png")
screenGroup:insert(SwitchOff)
SwitchOff.x = 50; SwitchOff.y = 600
transition.to( SwitchOff, { time=700, y=465, transition=easing.inOutExpo } )
transition.to( SwitchOn, { time=500, y=500, transition=easing.inOutExpo } )
SwitchOff:addEventListener("touch", onOFF)
end
答案 0 :(得分:2)
淡出音量时,您正在改变频道的音量。此值是持久的,如果您想稍后再次使用该频道,则您有责任重置频道上的音量。
您需要使用audio.setVolume()
<强>增加:强>
audio.fadeOut()
- 这会在指定的时间内停止播放声音,并在执行此操作时逐渐减小音量。音频将在时间结束时停止,频道将被释放。
所以我认为你需要再次播放声音,并在使用audio.fade()
之前将音量设置为 0.0
function onOFF(event)
if event.phase == "began" then
if sound == 1 then
sound = sound + 1
audio.fadeOut({ channel=setVolume, time=500 } )
switchoff()
elseif sound == 2 then
sound = sound - 1
audio.play( yourSound, {channel=setVolume, loops=-1}) -- Like this
audio.setVolume( 0.0, { channel=setVolume } )
audio.fade({ channel=setVolume, time=500, volume=0.7 } )
switchon()
end
end
end