Я хочу скомпилировать хромого кодировщика для Android. Как найти учебники для Lame и их компиляции для платформы Android.
Спасибо,
Я хочу скомпилировать хромого кодировщика для Android. Как найти учебники для Lame и их компиляции для платформы Android.
Спасибо,
Раньше было хорошее сообщение о том, как скомпилировать lame для Android, но по какой-то причине он был отключен на некоторое время и доступно только на некоторых изворотливых китайских сайтах.
Я просто скопирую контент ниже:
перенос компиляции хромого кодировщика в арку Android ARM с помощью Android NDK
Я искал приложение для кодирования mp3 в Android Market, и нашел очень мало, причина, по которой я думаю, что Android не поддерживает mp3 кодирование - это потому, что mp3 - это запатентованная технология. Еще одна причина: я предполагают, что люди предпочитают Java-программирование и Android SDK, а не Собственный набор разработчика для Android.
Тем не менее, компиляция библиотеки libmp3lame для Android с помощью Android NDK очень легко на самом деле.
- скачать Android NDK (также вам нужны Android SDK и Eclipse с плагином ADT) и создать простой проект.
- создайте каталог под названием "jni" в каталоге проекта.
- загрузить источники lame, извлечь, скопировать все источники из каталога libmp3lame в jni-каталог. Также скопируйте lame.h, который находится в каталоге include из хромых источников.
- создать jni/Android.mk файл. он должен выглядеть так:
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)
- очистить источники лайма, удалить все, что осталось от GNU autotools,
Makefile.am
,Makefile.in
,libmp3lame_vc8.vcproj
,logoe.ico
,depcomp
, папкиi386
,vector
.- отредактировать файл
jni/utils.h
и заменить определениеextern ieee754_float32_t fast_log2(ieee754_float32_t x);
с этимextern float fast_log2(float x);
- перейдите в корневую директорию вашего проекта Android и запустите
$pathtoandroidndk/ndk-build
, и все будет готово, вы скомпилируетеlimp3lame.so
.
Кроме того, для вас может быть интересен следующий вопрос о SO, поскольку он касается некоторых проблем после компиляции lame для Android:
Вышеупомянутое решение работало для меня, кроме:
vector
из исходного каталогаLOCAL_CFLAGS = -DSTDC_HEADERS