vbartacek / aacdecoder-android

Automatically exported from code.google.com/p/aacdecoder-android
GNU Lesser General Public License v3.0
119 stars 58 forks source link

Freeware Advanced Audio (AAC) Decoder for Android http://www.spoledge.com

The source code can be obtained at http://code.google.com/p/aacdecoder-android/

This is a port of the "OpenCORE aacdec" open source library to Android platform.

COPYRIGHTS

For this software the following license applies:


AACDecoder - Freeware Advanced Audio (AAC) Decoder for Android Copyright (C) 2011 - 2014 Spolecne s.r.o., http://www.spoledge.com
This file is a part of AACDecoder. AACDecoder is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License ** along with this program. If not, see http://www.gnu.org/licenses/.


NOTE-OpenCORE: This software uses libraries from the OpenCORE project under the Apache License, Version 2.0. (see decoder/jni/opencore-aacdec/Apache-LICENSE-2.0.txt). For more information about OpenCORE aacdec, please visit http://code.google.com/p/opencore-aacdec/

!!! PLEASE NOTE !!!

That using of this software may require the payment of
patent royalties. You need to consider this issue before you start
building derivative works. We are not warranting or indemnifying you in
any way for patent royalities! YOU ARE SOLELY RESPONSIBLE FOR YOUR OWN
ACTIONS!

For more information about the AAC patents, please visit http://www.vialicensing.com/licensing/aac-fees.aspx

OVERVIEW

The project contains two modules:

The "decoder" module contains the Java and C code used for wrapping the underlying AAC decoding algorithm (which is currently the OpenCORE aacdec, but it could be easily changed).

The "player" module is an example how to use the "decoder" library in your project.

INSTALLING

Requirements:

Preparing OpenCORE sources:

You have to download Android OpenCORE sources either by:

    * downloading Android OpenCORE sources from our "Downloads" tab:
        http://code.google.com/p/aacplayer-android/downloads/list

Please note that each version of thei decoder library needs specific
OpenCORE version. In the downloads list select that one which 
is just below the relevant source/libs archives.

If you download a zip file, then please unzip it.

Compiling:

1) copy sample.ant.properties to .ant.properties and edit .ant.properties:
    - path to Android SDK
    - path to Android NDK
    - path to Android OpenCORE source

2) run ant

3) install the APK on the emulator or a device:
    adb install player/bin/AACMP3Player-debug.apk

USING THE AAC DECODER LIBRARY FOR OTHER PROJECTS

Preparing:

You must copy both Java JAR and the shared library files to your
project's "libs" directory:

    $ cp -R decoder/libs <your_android_project>/libs

Using:

Please look at the example activity using the AAC decoder:

    player/src/com/spoledge/aacplay/AACPlayerActivity.java

USING MAVEN

Starting with the version 0.7 the project can be built using Maven.

NOTE: You have to configure the .ant.properties to point to the OpenCORE sources (see above)

You must install Android 1.5_r4 into your Maven repository. Please see https://code.google.com/p/maven-android-plugin/ how to use Maven for Android projects.

When you have you maven for Android ready, then just do:

$ mvn install

Then start an emulator or attach a device, go to the "decoder" dir and run:

$ mvn android:deploy

Using the apklib by other projects is as easy as the demo "player" is using it (see the player/pom.xml):

<dependencies>
    <dependency>
        <groupId>com.spoledge.aacdecoder</groupId>
        <artifactId>aacdecoder-lib</artifactId>
        <version>0.8</version>
        <type>apklib</type>
    </dependency>
</dependencies>