audio - 是否可以使用结束的声音文件过渡到新场景或刷新同一场景中的数据?

标签 audio timer lua coronasdk scene

Lua新手问:
我该如何过渡...
(建立操作方法的简单示例)...

visual = display.newImage( "redCircle.png", 50, 50 ) 

local music = audio.loadStream("sound1.mp3")
    audio.play(music)

audio.stopWithDelay(60000/60)

为此,由第一个声音文件结束计时?
visual = display.newImage( "blueCircle.png", 50, 50 ) 

local music = audio.loadStream("sound2.mp3")
audio.play(music)

audio.stopWithDelay(60000/60)

我应该尝试哪种API?我看过https://docs.coronalabs.com/api/index.html
我想念什么?

最佳答案

您可以做的是为第一个音频文件创建一个函数侦听器,您可以在此处查看更多信息:https://docs.coronalabs.com/api/library/audio/play.html下面是我可以给您的示例代码。请注意,我没有使用audio.stopWithDelay

--DECLARE LOCAL VARIABLES
local visual1
local visual2
local music1 
local music2

--LOAD SOUNDS
music1 = audio.loadStream("sound1.mp3")
music2 = audio.loadStream("sound2.mp3")

local function soundIsFinished(event)

    if (event.completed) then

        --PLAY SECOND AUDIO AND HIDE/REMOVE VISUAL 1
        visual1.isVisible = false
        visual2.isVisible = true
        audio.play(music2, {duration = 1000})       

    end

end

--DISPLAY VISUAL1 and play MUSIC1
visual1 = display.newImage("redCircle.png", 50,50)

--AUDIO WILL PLAY FOR 1 SECOND (60000/60) is 1 second
audio.play(music1, { duration=1000, onComplete=soundIsFinshed } )

-- HIDE VISUAL2 FIRST
visual2 = display.newImage("blueCircle.png", 50,50)
visual2.isVisible = false

希望这可以帮助。

关于audio - 是否可以使用结束的声音文件过渡到新场景或刷新同一场景中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32190397/

相关文章:

c++ - 使用带有 OpenGL 的 PlayFile 苹果示例会卡住 OpenGL,直到播放声音结束

c++ - boost 定时器 24 小时格式

string - Lua中如何将字符编码转换为字符串字符?

lua - 如何从表成员引用lua表成员?

c# - C#检测音乐文件何时停止在WMPLib中播放

CUDA:如何在 cuFFT 中使用浮点音频数据?

audio - 除了FFT以外,还有没有其他方法可以实现Guitar Tuner?

javascript - 清除 setTimeout 或 reset 函数

testing - 涉及时间的 Golang 测试程序

lua - 罗布乐思 |参数 1 缺失还是为零?