En pocas horas salgo hacia Barcelona-Zaragoza-Barcelona, así que hasta el miércoles a la noche no podré tocar nada de la app de SpokenPic. Pero en el mismo enlace que tenéis (los que lo tenéis porque nos habéis pedido, a mí o a @aaloy) tenéis una versión nueva, con muchos más controles y problema solucionados con los reportes que nos enviaron los que van probando.

El “grabador” de voz de Android tiene un problema de diseño de API importante: cada teléfono tiene diferentes modos de capturar, “samplear” y codificar, pero no todos admiten lo mismo, ni lo hacen con la misma calidad. Pero es imposible averiguar qué modos admite, ni siquiera cuál es el codificador por defecto (unos usan AAC, otros AMR, unos admiten diferentes samplings, otros no…). El de mejor calidad es el AAC, pero, por ejemplo, no todos los admiten, y en mi Samsung Galaxy Nexus da muy mala calidad, a menos que se ponga a 44.1 KHz, cosa que es imposible hacer en otros modelos. La solución temporal es que todo se pone por defecto, en algunos teléfonos genera muy buena calidad, en otros muy mala (y no tiene relación con el precio del cacharro, es independiente, por ejemplo el “barato” Sony Xperia va mucho mejor que mi Galaxy ).

Ya encontraré alguna forma de buscar la mejor solución a los modelos (debe existir, supongo). Sólo hay una mejora, en los ICS y tablets se solicita el dispositivo “VOICE”, que si existe, da más calidad de audio para voz, y mejor volumen).

Además de los controles para evitar cuelgues (la combinación de cámara y audio -de tamaños y capacidades muy variables, sobre pantallas de diferentes tamaños- en la misma “vista” es una pesadilla de programación pero ya está casi “rock solid”😉 ). También me aseguré que cuando se cambia de aplicación todos los recursos queden liberados, así se consume menos batería y memoria (el grabador es puñetero en este sentido).

Nota: cuando se sube al web se convierte a MP3 para que el jPlayer lo reproduza en la mayoría de navegadores, eso es independiente del formato de salida del teléfono.