В моем проекте Corona SDK у меня есть сцена композитора под названием "menu.lua" (созданная с помощью composer.newScene ()), которая является первой сценой, вызываемой файлом main.lua.У меня есть фоновый трек только для этой сцены, загруженный в scene: create () с audio.loadSound () в локальной переменной.Когда я загружаю другую сцену (предположим, что это «кредитная» сцена, статичная, без музыки, звуков, анимации, таймеров и т. Д.), А затем возвращаюсь к сцене меню, звук все еще воспроизводится, но с меньшей громкостью.
Звук воспроизводится в цикле на канале 2, я использую audio.play () в сцене scene: show «did».Я использую audio.fadeOut () в сцене: скрыть «будет», и остановить с помощью audio.stop () в фазе «сделал», а затем утилизировать с помощью audio.dispose () в сцене: уничтожить.
В файле "menu.lua"
local composer=require("composer")
local scene=composer.newScene()
local theme --this is the variable for audio
function scene:create(event)
local sceneGroup=self.view
theme=audio.loadSound("sfx/theme_short.mp3")
end
function scene:show(event)
local sceneGroup=self.view
if event.phase=="will"
audio.play(theme,{loops=-1,channel=2})
end
end
function scene:hide(event)
local sceneGroup=self.view
if event.phase=="will" then
audio.fadeOut(theme,{500})
end
elseif event.phase=="did" then
audio.stop(2)
end
end
function scene:destroy(event)
local sceneGroup=self.view
audio.dispose(theme)
end
Другая сцена (предположим, что это "credits.lua") вызывается кнопкой с прикрепленным событием "tap".В "credits.lua" я использую эту функцию, чтобы вернуться к сцене "menu.lua" (функция вызывается с событием "tap", прикрепленным к кнопке)
local function goMenu()
composer.removeScene("menu")
composer.gotoScene("menu","slideUp",500)
return true
end
Я уже пыталсявоспроизвести аудио в сцене: показать фазу «сделал» и в сцене: создать, но проблема остается.Проблема возникает со всеми сценами, все статические (всего 3).Есть идеи?