All Projects → h6ah4i → Android Openslmediaplayer

h6ah4i / Android Openslmediaplayer

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

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Android Openslmediaplayer

Python Mpv
Python interface to the awesome mpv media player
Stars: ✭ 245 (-37.66%)
Mutual labels:  audio, media-player
Audio Visualizer Android
🎵 [Android Library] A light-weight and easy-to-use Audio Visualizer for Android.
Stars: ✭ 581 (+47.84%)
Mutual labels:  audio, media-player
Monstercat Visualizer
A real time audio visualizer for Rainmeter similar to the ones used in the Monstercat videos.
Stars: ✭ 571 (+45.29%)
Mutual labels:  audio, media-player
Vue Howler
[UNMAINTAINED] A Howler.js mixin for Vue 2 that makes it easy to create custom audio player components
Stars: ✭ 103 (-73.79%)
Mutual labels:  audio, media-player
Cassette
📼 A flexible media player component library for React that requires no up-front config
Stars: ✭ 171 (-56.49%)
Mutual labels:  audio, media-player
Glow
mpv Config File Generator for Windows
Stars: ✭ 167 (-57.51%)
Mutual labels:  audio, media-player
React Native Jw Media Player
React-Native Android/iOS bridge for JWPlayer SDK (https://www.jwplayer.com/)
Stars: ✭ 76 (-80.66%)
Mutual labels:  audio, media-player
Libvlc Go
Go bindings for libVLC and high-level media player interface
Stars: ✭ 188 (-52.16%)
Mutual labels:  audio, media-player
Mpc Hc
MPC-HC's main repository. For support use our Trac: https://trac.mpc-hc.org/
Stars: ✭ 3,567 (+807.63%)
Mutual labels:  audio, media-player
Eartrumpet
EarTrumpet - Volume Control for Windows
Stars: ✭ 4,761 (+1111.45%)
Mutual labels:  audio
Midiwriterjs
♬ A JavaScript library which provides an API for programmatically generating and creating expressive multi-track MIDI files and JSON objects.
Stars: ✭ 381 (-3.05%)
Mutual labels:  audio
Lissajous
🎵 A tool for programmatic audio performance in the browser using Javascript.
Stars: ✭ 367 (-6.62%)
Mutual labels:  audio
Hedron
Perform live shows with your three.js creations
Stars: ✭ 372 (-5.34%)
Mutual labels:  audio
Supercolliderjs
The JavaScript client library for SuperCollider
Stars: ✭ 381 (-3.05%)
Mutual labels:  audio
Tswechat
A WeChat alternative. Written in Swift 5.
Stars: ✭ 3,674 (+834.86%)
Mutual labels:  audio
Beats
A command-line drum machine. Convert a beat notated in YAML into a *.wav file.
Stars: ✭ 389 (-1.02%)
Mutual labels:  audio
Radiodroid
radio browser app that uses www.radio-browser.info on android
Stars: ✭ 362 (-7.89%)
Mutual labels:  audio
Audioread
cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python
Stars: ✭ 359 (-8.65%)
Mutual labels:  audio
Duckhunt Js
DuckHunt ported to JS and HTML5
Stars: ✭ 390 (-0.76%)
Mutual labels:  audio
Musig
A shazam like tool to store songs fingerprints and retrieve them
Stars: ✭ 388 (-1.27%)
Mutual labels:  audio

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 AudioTrack/OpenSL based audio player products (ex. PowerAmp)

Misc.

  • Highly compatibility with standard MediaPlayer and audio effect classes
  • Implements a lot of workarounds, more better behavior and well-tested (Standard* prefixed API classes)
  • Provides Hybrid media player factory which is a player using OpenSL ES for decoding audio and using AudioTrack for playback. This is the most recommended MediaPlayer because it provides more tolerance for audio glitches than OpenSLMediaPlayer but it can use all features of OpenSLMediaPlayer!
  • Provides some compatibility class or methods for older devices
  • NEON/SSE optimized

Target platforms

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

Latest version

  • Version 0.7.5 (May 6, 2017)

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.7.5'
}
  1. That's all ;)

Build from source

If you want to build this library from source, 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].