2011-12-26 73 views
20

Quiero compilar el codificador Lame para Android. ¿Cómo puedo encontrar los tutoriales para Lame y su compilación para la plataforma Android?Lame MP3 Encoder compilar para Android

Gracias,

+1

siga este enlace http://developer.samsung.com/technical-doc/view.do? v = T000000090 – sonida

Respuesta

32

No solía ser un buen blog post sobre cómo compilar cojo para Android, pero por alguna razón que ha sido desconectado por un tiempo y sólo está disponible en algunos sitios chinos poco fiables.

Voy a copiar el contenido a continuación:

portar compilar codificador cojo al arco ARM Android con Android NDK

que estaba buscando una aplicación de codificación mp3 en Android Market, y encontrado muy pocos, la razón por la que creo que Android no es compatible con mp3 codificación es porque mp3 es tecnología patentada. Otra razón es I supongo que las personas prefieren la programación Java y Android SDK en lugar de Android kit de desarrollo nativo.

Sin embargo compilar la biblioteca libmp3lame para Android usando Android NDK es muy fácil en realidad.

  1. descarga Android NDK (también necesitas Android SDK y Eclipse con el complemento ADT) y crea un proyecto simple.
  2. cree un directorio llamado "jni" en el directorio de su proyecto.
  3. descargue fuentes lame, extraiga, copie todas las fuentes del directorio libmp3lame al directorio jni. Copie también lame.h que se encuentra en el directorio include of lame.
  4. crea el archivo jni/Android.mk. que debería tener este aspecto:
    • LOCAL_PATH := $(call my-dir)
    • include $(CLEAR_VARS)
    • LOCAL_MODULE := mp3lame
    • LOCAL_SRC_FILES := bitstream.c fft.c id3tag.c mpglib_interface.c presets.c quantize.c reservoir.c tables.c util.c VbrTag.c encoder.c gain_analysis.c lame.c newmdct.c psymodel.c quantize_pvt.c set_get.c takehiro.c vbrquantize.c version.c
    • include $(BUILD_SHARED_LIBRARY)
  5. fuentes cojos limpias, eliminar lo que queda de GNU autotools, Makefile.am, Makefile.in, libmp3lame_vc8.vcproj , logoe.ico, depcomp, carpetas i386, vector.
  6. editar archivos jni/utils.h, y reemplazar definición extern ieee754_float32_t fast_log2(ieee754_float32_t x); con este extern float fast_log2(float x);
  7. vaya al directorio raíz del proyecto Android y ejecutar $pathtoandroidndk/ndk-build y ya está, tendrá limp3lame.so compilado.

Además, la siguiente pregunta en SO podría ser de interés para usted, ya que se ocupa de algunos problemas después de compilar cojo para Android:

+1

1. No elimine el vector floder; 2. Algunas fuentes incluyen lame.h usando "lame.h" alguna fuente usando , por lo que debe agregar -I./ flags en Android.mk –

+0

¿Cómo compilarlo como una biblioteca estática que se puede usar con ffmpeg? – frankish

9

La solución anterior funcionó para mí, excepto:

  • no elimine el vector directorio desde el directorio de origen
  • usted puede deshacerse de las advertencias de compilación mediante la adición de una bandera del compilador: LOCAL_CFLAGS = -DSTDC_HEADERS
Cuestiones relacionadas