2010-11-11 99 views
7

我對android手機上麥克風端口的外部使用有了一個有趣的想法。我正在靈機一動地使用Android手機記錄我的咖啡烘焙器內的烘烤溫度。這個想法突然出現在我的腦海中。麥克風是低電壓,我的熱電偶也是。於是我開始瀏覽android方法,看看是否有什麼可以讓我從端口獲得實際的毫伏讀數。 GetMaxAmplitude函數是我發現的唯一的東西。有誰知道GetMaxAmplitude函數返回的值的範圍?GetMaxAmplitude的取值範圍

如果您知道這不起作用,請讓我知道。

由於提前,

回答

9

嗯,我自己一直在努力地發現,來自getMaxAmplitude()函數值的絕對響了,但我一直沒能找到任何確切的答案。有一個線程表示聲音可以返回0到25000之間的任何東西。我知道最小值是0.另外,它返回一個Integer,它只能包含整數,所以我不認爲它是實際的返回原始毫伏讀數,因爲它通常包含小數位。

雖然非常有趣的想法!

也許這裏的東西將幫助:

Microphone input

編輯:

我已經發現了最大值!它是32767,這是一個有符號的16位整數的最大值。最小值當然是0,因爲你不能少於沒有聲音。這也支持getMaxAmplitude()不會返回實際毫伏值的理論,因爲從麥克風中獲取32.8伏......不會發生。

+4

如果你看看sources.android.com,SoundRecorder項目,你會發現VUMeter視圖處理範圍從0到32768的幅度值。 – SlowTree 2011-03-17 20:58:55

+0

@SlowTree是的,這就是我找到的和我認爲這是最大的,但我不確定,因爲沒有最終的最大值的文件。 – Nicholas 2011-05-24 21:03:39