我按照指南(可在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 )
但是控制台在最后一行返回相同的错误(','附近的意外符号)(“运行时:addEventListener(”enterFrame“,soundDetector)”)
我该怎么做才能解决这个问题?
答案 0 :(得分:0)
在行中:
Runtime:addEventListener( “enterFrame”, soundDetector )
enterFrame
周围的引号不是ASCII双引号。正确的行应该是:
Runtime:addEventListener( "enterFrame", soundDetector )
可能是从另一个来源(PDF文档?)中剪切和粘贴,在某处触发了自动替换。同样的问题似乎是您发布的第一个代码段中的错误原因:
local text_ = display.newText(“Initial…”,200,10,nil,30)
与
local text_ = display.newText("Initial…",200,10,nil,30)
P.S。:您的代码格式可怕。