Archivo de audio inverso en Android

Estoy en las etapas muy ealy de desarrollar esta aplicación, pero mirando en ella ya he llegado a un problema. Necesito poder reproducir un archivo de audio al revés (usted sabe como revelar mensajes ocultos;)). No tengo experiencia trabajando con audio en android y no tengo ni idea si esto es posible.

He encontrado una pregunta aquí que resuelve el problema en java ( haga clic aquí para la pregunta )

Pero esto hace uso de la biblioteca javax.sound que no soporta android. ¿Necesitaré esta biblioteca para resolver este problema o hay otra manera de revertir un archivo de audio?

Un archivo WAV típico consiste en un encabezado de 44 bytes seguido de los valores reales de la muestra. El tamaño de un "marco" depende de las propiedades del archivo WAV: un archivo que es estéreo y 16 bits por muestra tendrá un tamaño de fotograma de 4 bytes (dos bytes para la muestra izquierda y dos bytes para la muestra derecha ).

Así que en código, se crearía un segundo archivo WAV mediante la creación de una matriz de bytes el mismo tamaño general que el original. Copia el encabezado de 44 bytes del original en la copia y, a continuación, iterar a través de los marcos originales a partir de la última y trabajar hacia adelante a la primera. Copia cada fotograma en la posición inversa en la matriz de copia (es decir, el último fotograma original se copia en la matriz de copia inmediatamente después del encabezado, el segundo hasta el último fotograma se copia después del primer fotograma, etc.). Luego, simplemente reproduzca el archivo invertido.

Así que no necesitas la biblioteca javax.sound para hacer esto – solo necesitas poder copiar y manipular bytes. FYI, no todos los archivos WAV son "canónicos" como este (canónicos significa 44 bytes de cabecera más los valores de muestra, y nada más). El formato WAV es en realidad un formato RIFF, lo que significa que en teoría es necesario realizar una extracción más compleja de los valores de la muestra. En la práctica (especialmente si usted está creando los archivos WAV usted mismo) por lo general puede escapar con un enfoque mucho más simple como he descrito aquí.

NOTA: si sus sonidos son archivos MP3, la inversión es una tarea más complicada, ya que los datos de muestra no se almacenan como muestras en un archivo MP3. Si está utilizando MP3, una forma de invertirlos es convertirlos a WAV y luego invertir el archivo WAV.

  • Android Streaming Wav Error de audio: Preparación de MediaPlayer: status = 0x1
  • Codificar wav a AAC en Android
  • Creación de un archivo WAV a partir de datos PCM sin procesar utilizando el SDK de Android
  • Utilizar AudioTrack en Android para reproducir un archivo WAV
  • MediaPlayer onCompletion no se llama con precisión
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.