import('android.media.AudioManager') audi = context:getSystemService('audio') audiotype = { AudioManager.STREAM_ALARM,--手机闹铃的声音 AudioManager.STREAM_MUSIC,--手机音乐的声音 AudioManager.STREAM_NOTIFICATION,--系统提示的通知 AudioManager.STREAM_RING,--电话铃声的声音 AudioManager.STREAM_SYSTEM,--手机系统的声音 AudioManager.STREAM_VOICE_CALL,--语音电话的声音 AudioManager.STREAM_DTMF,--DTMF音调的声音 --AudioManager.STREAM_BLUETOOTH_SCO, } yinl, yltype, qhkai = {}, 0, 0 for i = 1,#audiotype do yinl[i] = {} yinl[i].type = audiotype[i] yinl[i].min = audi:getStreamMinVolume(audiotype[i]) yinl[i].max = audi:getStreamMaxVolume(audiotype[i]) yinl[i].now = audi:getStreamVolume(audiotype[i]) end function MonitorVolume(func) yinln = {} for i = 1,#audiotype do yinln[i] = {} yinln[i].type = audiotype[i] yinln[i].now = audi:getStreamVolume(audiotype[i]) if yinln[i].now > yinl[i].now then yinl[i].now = yinln[i].now if yltype == 1 then yltype = 0 func() end elseif yinln[i].now < yinl[i].now then yinl[i].now = yinln[i].now if yltype == 0 then yltype = 1 func() end end end end MonitorVolume_Func = function() if qhkai == 0 then qhkai = 1 VolumeRemove_Func() else qhkai = 0 VolumeAdd_Func() end end VolumeAdd_Func = function() toast('监测到音量键[加 +]状态') end--VolumeAdd_Func VolumeRemove_Func = function() toast('监测到音量键[减 -]状态') end--VolumeRemove_Func while true do MonitorVolume(MonitorVolume_Func) end