2013-09-13 4 views
0

Я следовал за гидом (который можно найти по адресу 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)")

Что я могу сделать, чтобы исправить эту проблему?

ответ

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 .: ваш код ужасно отформатирована.

+0

Большое спасибо! Он, наконец, работает, и извините за ужасное форматирование кода – luaLover

+0

@luaLover, если это вам помогло, пожалуйста, подумайте о том, чтобы принять мой ответ. –

Смежные вопросы