1

10 秒間隔で 3 つの通知を作成しようとしています。ただし、最初の音だけを再生し、10 秒の間隔で永遠に繰り返します。私のコードを調べて、何が間違っているのか教えてください。

local futureTime = 10  --10 seconds 
local sounds =  {"Icebaby.mp3", "Pokemon.mp3", "Yoshi.mp3"}
i=1

local options = {
 alert = "Wake up!",
 sound = "Icebaby.mp3" ,
 custom = { msg = "Alarm" }
}

local notificationID = system.scheduleNotification( futureTime, options )

local function notificationListener( event )

system.cancelNotification(notificationID)
i=i+1
options.sound=sounds[i]
    if(i>3) then
    Runtime:removeEventListener ( "notification", notificationListener )

    else 
        notificationID = system.scheduleNotification( futureTime, options )
    end
end


Runtime:addEventListener( "notification", notificationListener )
4

1 に答える 1

0

問題 1: 「最初の音しか再生されない」 -> はい、オプション テーブルを変更していないためです。したがって、常にこのオプション テーブルです。

local options = {
 alert = "Wake up!",
 sound = "Icebaby.mp3" ,
 custom = { msg = "Alarm" }
}

次の通知を作成するたびに、オプション テーブルを変更します。たとえば、「サウンド」テーブルを使用してください。

于 2013-07-23T13:31:13.983 に答える