2011-12-26 9 views
20

Androidのラメのエンコーダをコンパイルします。 LameとAndroidプラットフォーム用のコンパイルのチュートリアルはどのようにして見つけることができますか?Android用にコンパイルされたラメMP3エンコーダ

おかげで、

+1

このリンクhttp://developer.samsung.com/technical-doc/view.doに従ってください:あなたはコンパイラフラグを追加することにより、コンパイルの警告を取り除くことができます

  • ソースディレクトリからディレクトリ? v = T000000090 – sonida

  • 答えて

    32

    は、Android用のラメコンパイル方法について良いblog postにするために使用がありますが、何らかの理由でそれがしばらくの間オフラインになっていますし、いくつかの危険な中国のサイトでのみ使用できます。

    私はちょうど下記の内容をコピーします:AndroidのNDKを使ってAndroidのARMのアーチにラメエンコーダをコンパイル移植

    私はAndroidマーケットでmp3エンコードapplication、 を探していました

    と私はAndroidがmp3をサポートしていないと考えている理由は、ほとんどありません エンコードはmp3が特許技術であるためです。もう1つの理由は、 人は、 Androidネイティブ開発キットではなく、JavaプログラミングとAndroid SDKを好むと推測しています。

    しかし、Androidを使用してAndroid用libmp3lameライブラリをコンパイルすると、 NDKは実際には非常に簡単です。

    1. Android NDK(Android SDKとEclipseにはADTプラグインが必要です)をダウンロードし、簡単なプロジェクトを作成します。
    2. プロジェクトのディレクトリに "jni"という名前のディレクトリを作成します。
    3. lameソースをダウンロードし、すべてのソースをディレクトリlibmp3lameからjniディレクトリにコピーします。また、lame.hのコピーは、lameソースのインクルードディレクトリにあります。
    4. 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)
    5. きれいなラメのソース、GNUのautotoolsのから残っているもの取り除くMakefile.amMakefile.inlibmp3lame_vc8.vcproj:それは次のようになります。 、logoe.ico,depcomp、フォルダi386vector
    6. 編集ファイルjni/utils.h、このextern float fast_log2(float x);
    7. で定義extern ieee754_float32_t fast_log2(ieee754_float32_t x); を交換するには、あなたのAndroidプロジェクトのルートディレクトリに移動し、$pathtoandroidndk/ndk-buildを実行し、あなたが行っている、あなたはlimp3lame.soをコンパイルしています。また

    、それは、Android用のラメをコンパイルした後、いくつかの問題を扱うように、あなたのために関心のあるかもしれない上、次の質問:

    +1

    1.ベクトル・フラーを除去しないでください。いくつかのソースは、lame.hに "lame.h"を使用しています。ソースはですので、Android.mkに-I /フラグを追加する必要があります –

    +0

    ffmpegで使用できる静的ライブラリとしてコンパイルするにはどうすればいいですか? – frankish

    9

    上記の溶液私のために働いた:

    • を削除しないでくださいLOCAL_CFLAGS = -DSTDC_HEADERS