【问题标题】:corona game SDK backgroundMusicChannel电晕游戏SDK背景音乐频道
【发布时间】:2013-08-22 09:56:36
【问题描述】:

我正在尝试在不同的 .lua 文件上播放不同的背景声音。 任何 .lua 都可以独立工作,但是当我在程序中在它们之间导航时无法正常工作。 在任何 .lua 文件的开头:

local backgroundMusic = audio.loadStream("bg3.mp3")
local backgroundMusicChannel = audio.play( backgroundMusic, { channel=1, loops=-1, fadein=5000 }  ) 

在去其他场景之前:

audio.pause( backgroundMusicChannel )

我必须做什么!?

【问题讨论】:

    标签: audio lua coronasdk


    【解决方案1】:

    我不知道确切的问题,但尝试这样:

    audio.stop(backgroundMusicChannel)

    audo.dispose(backgroundMusicChannel)

    【讨论】:

      【解决方案2】:

      看起来您正在将对 backgroundMusicChannel 的引用存储在局部变量中。必须确保backgroundMusicChannel 在您调用audio.pause(backgroundMusicChannel) 的部分中可用?

      【讨论】:

        【解决方案3】:

        音频库使用 30 个不同的通道来播放流。当您调用播放功能时,通常它会寻找一个空闲频道并将新流分配给该频道。但是在这里您正在暂停一个频道,这意味着指定的频道仍然处于活动状态。所以基本上你应该从你的论点中删除 channel = 1 。您根本不应该使用通道属性。或者你应该非常小心地处理这个频道分配。 或者你也可以使用audio.stop函数来清除频道。

        【讨论】:

          【解决方案4】:

          我使用此代码在 clean 函数中停止音频。

          local sound = audio.isChannelPlaying( backgroundMusicChannel ) if sound then audio.stop(backgroundMusicChannel) audio.dispose(backgroundMusicChannel) end

          您应该在您的 clean 函数中使用它,并且当您导航另一个场景时,您必须调用该 clean 函数。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-08-19
            • 2011-02-17
            • 2016-04-16
            • 2017-02-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多