Lame MP3 Encoder compilar para Android
Quiero compilar el codificador lame para Android. ¿Cómo puedo encontrar los tutoriales para Lame y su compilación para la plataforma Android.
Gracias,
- Leer las etiquetas ID3 de un archivo MP3
- Cómo extraer metadatos de mp3?
- Codificación pcm muestras a mp3 en tiempo real android, ¿posible?
- Cómo reproducir archivos mp3 utilizando sonic NDK en Android?
- Convertir archivos pcm a mp3 usando liblame en android
- ¿Cómo puedo descargar el archivo mediante webview? (Este caso es raro)
- Error de MediaPlayer de Android: Error de MediaPlayer (1, -2147483648) en Stream de Internet
- Cómo registrar una nueva asociación de tipo de archivo con MP3
- Android MediaPlayer no reproducir archivos mp3
- Android: grabar sonido en formato mp3
- Reproducir archivos mp3 durante la descarga?
- Mejor manera de recuperar MetaData de Mp3s en Android
- Cómo obtener la duración de un archivo MP3 en Android
Solía haber una buena entrada en el blog sobre cómo compilar la mierda para Android, pero por alguna razón ha estado fuera de línea por un tiempo y sólo está disponible en algunos sitios chinos chinos.
Sólo copiaré el contenido a continuación:
Portar recopilación de codificador lame a Android ARM arco utilizando Android NDK
Yo estaba buscando una aplicación de codificación de mp3 en Android Market, y encontró muy pocos, la razón por la que creo que Android no es compatible con la codificación de mp3 es porque mp3 es la tecnología patentada. Otra razón es que supongo que la gente prefiere la programación Java y Android SDK en lugar de Android kit de desarrollo nativo.
Sin embargo compilando libmp3lame biblioteca para Android usando Android NDK es muy fácil en realidad.
- Descargar Android NDK (también necesitas Android SDK y Eclipse con ADT plugin) y crear un proyecto sencillo.
- Crear directorio llamado "jni" en el directorio de su proyecto.
- Descargar fuentes lame, extraer, copiar todas las fuentes del directorio libmp3lame al directorio jni. También copie lame.h que se encuentra en el directorio include de fuentes cojo.
- Crear archivo jni / Android.mk. Debe tener un aspecto como este:
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)
- Limpiar fuentes cojo, quitar lo que queda de GNU autotools,
Makefile.am
,Makefile.in
,libmp3lame_vc8.vcproj
,logoe.ico
,depcomp
, carpetasi386
,vector
.- Editar el archivo
jni/utils.h
y reemplazar la definiciónextern ieee754_float32_t fast_log2(ieee754_float32_t x);
Con esteextern float fast_log2(float x);
$pathtoandroidndk/ndk-build
al directorio raíz de su proyecto de Android y ejecute$pathtoandroidndk/ndk-build
y ya está, tendrálimp3lame.so
compilado.
Además, la siguiente pregunta sobre SO puede ser de interés para usted, ya que trata de algunos problemas después de compilar lame para Android:
- Invocación de funciones nativas de la biblioteca portada
La solución anterior funcionó para mí, excepto:
- No elimine el directorio
vector
directorio de origen - Puede deshacerse de las advertencias de compilación agregando un indicador de compilador:
LOCAL_CFLAGS = -DSTDC_HEADERS
- SmoothScrollToPositionFromTop () no siempre funciona como debería
- ¿Cuál es la diferencia entre EventBus y RxJava?