2010-11-11 16 views
7

Tengo una idea interesante para el uso externo del puerto de micrófono en un teléfono Android. Estoy pensando en maneras de usar un teléfono Android para registrar las temperaturas de tostado dentro de mi tostador de café. El pensamiento estalló en mi cabeza. Un micrófono es de baja tensión y también lo es mi termopar. Así que comencé a buscar en los métodos de Android para ver si había algo que me permitiera obtener la lectura en milivoltios real del puerto. La función GetMaxAmplitude es lo único que encontré. ¿Alguien sabe el rango de valores que devuelve la función GetMaxAmplitude?Rango de valores para GetMaxAmplitude

Si sabes que esto no funcionará, házmelo saber.

Gracias de antemano,

Respuesta

9

Bueno, yo he estado trabajando para encontrar el Rang absoluta de los valores que vienen de la función getMaxAmplitude(), pero no he podido encontrar ninguna respuesta exacta. Hubo un hilo que decía que las voces pueden devolver cualquier cosa desde 0 hasta 25000. Sé que el valor mínimo es 0. Además, devuelve un Entero, que solo puede contener números enteros, así que no creo que sea realmente devolviendo la lectura en milivoltios en bruto, ya que normalmente también contiene decimales.

idea muy interesante!

tal vez algo aquí le ayudará:

Microphone input

EDIT:

he descubierto el valor máximo! es 32767, que es el máximo para un entero de 16 bits con signo. El valor mínimo es, por supuesto, 0, porque no puede tener menos que ningún sonido. Esto también es compatible con la teoría de que getMaxAmplitude() no devuelve el valor de milivoltios real, porque obtener 32.8 voltios de un micrófono ... no va a suceder.

+4

Si echa un vistazo a sources.android.com, el proyecto SoundRecorder, verá que la vista VUMeter maneja los valores de amplitud en un rango de 0 a 32768. – SlowTree

+0

@SlowTree sí, eso es lo que he encontrado y yo Creo que es el máximo, pero no estoy seguro porque no hay documentación sobre un máximo final. – Nicholas

Cuestiones relacionadas