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,
- Aplicación de Android que extrae datos de volumen y / o frecuencia de un flujo de mp3
- ¿Cómo puedo descargar el archivo mediante webview? (Este caso es raro)
- Wowza .mp3 RTSP stream en android
- Leer las etiquetas ID3 de un archivo MP3
- Cómo codificar un WAV a un mp3 en un dispositivo Android
- Set Letras en MP3 ID3v2 Tag
- Creación de una instancia sencilla de ExoPlayer
- Audio Android demasiado rápido en algunos dispositivos con MediaCodec y AudioTrack
- Cómo reproducir archivos mp3 utilizando sonic NDK en Android?
- No se pudo incrustar el archivo MP3 incorporado
- ¿Cómo diseñar interacción servicio-actividad para un simple reproductor de mp3?
- Android MediaPlayer no reproducir archivos mp3
- Android muestra sólo mp3 con ACTION_GET_CONTENT
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?