ガイド ( http://sree.cc/corona-sdk/detect-microphone-volume-blowing-into-microphoneにあります) に従って、マイクの音量を検出しようとしました。
私が使用したコードは次のとおりです。
local _w = display.contentWidth
local _h = display.contentHeight
local background_ = display.newRect(0,0,_w,_h)
background_:setFillColor(255)
local text_ = display.newText(“Initial…”,200,10,nil,30)
text_:setTextColor(0)
local r = media.newRecording()
r:startRecording()
r:startTuner()
function soundDetector( event )
local v = r:getTunerVolume()
if v == 0 then
return
end
v = 20 * 0.301 * math.log(v)
m = v*10
if(m>= -50)then
text_.text = “High…”
background_:setFillColor(255,0,0)
elseif(m< -50 and m>-100)then
text_.text = “Medium…”
background_:setFillColor(0,0,255)
else
text_.text = “Low…”
background_:setFillColor(0,255,0)
end
end
Runtime:addEventListener( “enterFrame”, soundDetector )
問題は、コンソールが 7 行目で「「、」の近くに予期しない記号」を返すことです。
次のコードを変更しようとしました:
local _w = display.contentWidth
local _h = display.contentHeight
local background_ = display.newRect(0,0,_w,_h)
background_:setFillColor(255)
local r = media.newRecording()
r:startRecording()
r:startTuner()
function soundDetector( event )
local v = r:getTunerVolume()
if v == 0 then
return
end
v = 20 * 0.301 * math.log(v)
m = v*10
if(m>= -50)then
background_:setFillColor(255,0,0)
elseif(m< -50 and m>-100)then
background_:setFillColor(0,0,255)
else
background_:setFillColor(0,255,0)
end
end
Runtime:addEventListener( “enterFrame”, soundDetector )
しかし、コンソールは最後の行 ("Runtime:addEventListener( "enterFrame", soundDetector )") で同じエラー (「,」の近くに予期しない記号) を返します。
この問題を解決するにはどうすればよいですか?