Chcę skompilować lame koder dla Androida. Jak mogę znaleźć samouczki dla Lame i jego kompilacji na platformę Android.Kompilacja Lame MP3 Encoder dla Androida
Dzięki,
Chcę skompilować lame koder dla Androida. Jak mogę znaleźć samouczki dla Lame i jego kompilacji na platformę Android.Kompilacja Lame MP3 Encoder dla Androida
Dzięki,
Kiedyś być dobrym blog post na jak skompilować lame dla Androida, ale z jakiegoś powodu to był nieaktywny przez chwilę i dostępne tylko w niektórych podejrzanych chińskich witryn.
Ja po prostu skopiuj poniższy zawartość:
Porting kompilacji LAME Android ARM łuku przy użyciu Android NDK
Szukałem aplikacji kodowania mp3 w Android Market, a Znalazłem bardzo mało, dlatego myślę, że Android nie obsługuje kodowania mp3 , ponieważ mp3 jest opatentowaną technologią. Kolejny powód to I , sądzę, że ludzie wolą programowanie w języku Java i zestaw SDK Androida niż Zestaw do samodzielnego programowania Android.
Mimo to kompilowanie biblioteki libmp3lame dla Androida przy użyciu Androida NDK jest bardzo proste.
- pobierz Android NDK (również potrzebujesz Androida SDK i Eclipse z wtyczką ADT) i utwórz prosty projekt.
- utwórz katalog o nazwie "jni" w katalogu projektu.
- pobierz lame źródła, rozpakuj, skopiuj wszystkie źródła z katalogu libmp3lame do katalogu jni. Skopiuj także lame.h, który znajduje się w katalogu include lame sources.
- utwórz plik jni/Android.mk. powinno to wyglądać tak:
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)
- czystych źródeł lame, usunąć to, co pozostało z autotools GNU,
Makefile.am
,Makefile.in
,libmp3lame_vc8.vcproj
,logoe.ico
,depcomp
, folderyi386
,vector
.- edytować plik
jni/utils.h
i zastąpić definicjęextern ieee754_float32_t fast_log2(ieee754_float32_t x);
z tymextern float fast_log2(float x);
- przejść do głównego katalogu projektu Android i uruchom
$pathtoandroidndk/ndk-build
i skończysz, będziesz miałlimp3lame.so
skompilowany.
Również następujące pytanie na SO mogą być interesujące dla Ciebie, ponieważ dotyczy niektórych problemów po kompilacji lame dla Androida:
1. Nie usuwaj floder wektorowych; 2. Niektóre źródła zawierają lame.h używając "lame.h" niektóre źródła używając
Jak skompilować to jako statyczną bibliotekę, która może być używana z ffmpeg? – frankish
Powyższe rozwiązanie pracował dla mnie z wyjątkiem:
vector
katalogu z katalogu źródłowegoLOCAL_CFLAGS = -DSTDC_HEADERS
tego linku http://developer.samsung.com/technical-doc/view.do? v = T000000090 – sonida