Skip to content

hendyyou/android-openslmediaplayer

 
 

Repository files navigation

OpenSLMediaPlayer

Re-implementation of Android's MediaPlayer and audio effect classes based on OpenSL ES APIs.

Android Arsenal

Motivation

I decided to develop this library to solve these frustrations.

Features

Advantages

  • Provides both C++ and Java API sets
  • Smooth fade in/out when starts/pauses playback
  • High quality resampler
  • 10 bands graphic equalizer & pre. amplifier
  • High quality Visualizer class (floating point, stereo, 32k samples/capture, 60 sampling/second)

Disadvantages

  • Does not support video playback, audio only ( Please use MediaPlayer or ExoPlayer for video playback)
  • Consumes more CPU resources than standard MediaPlayer and other OpenSL based audio player products (ex. PowerAmp)

Misc.

Target platforms

  • Android API level 14+ (since this library depends decoding feature introduced from API level 14)

Latest version

  • Version 0.6.0 (Februaly 17, 2015)

Demo application (pre-built example apps)

See GitHub Pages site of this project.

Getting started

Use pre-built library (for Android Studio only)

  1. Add these lines to build.gradle of your project
dependencies {
    compile 'com.h6ah4i.android:openslmediaplayer:0.6.0'
}
  1. That's all ;)

Build from source

If you want to build from source or want to build with ADT (Eclipse), please refer to this article.

Documentation

Refer to Wiki and JavaDoc.

ToDos

  • More optimize
  • Improve JavaDoc comments

License

This library is licensed under the Apache Software License, Version 2.0, and contains some source code files delivered from product of Android Open Source Project (AOSP). See AOSP.md for details.

Note that this library uses some third party libraries, so you also have to take care of their licenses.


License of OpenSLMediaPlayer (this library)

See LICENSE for full of the license text.

Copyright (C) 2014-2015 Haruki Hasegawa

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

License of dependent libraries

cxxdasp, cxxporthelper, OpenSL ES CXX

These libraries are licensed under the Apache Software License, Version 2.0.

PFFFT

This library is licensed under the FFTPACK5 Software License.

Ne10

This library is licensed under the BSD 3-Clause license.

About

Re-implementation of Android's MediaPlayer and audio effect classes based on OpenSL ES APIs.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 55.5%
  • C++ 43.3%
  • Makefile 0.8%
  • Shell 0.2%
  • C 0.1%
  • Python 0.1%