Oboe is a C++ library which makes it easy to build high-performance audio apps on Android. It was created primarily to allow developers to target a simplified API that works across multiple API levels back to API level 16 (Jelly Bean).
- Compatible with API 16 onwards - runs on 99% of Android devices
- Chooses the audio API (OpenSL ES on API 16+ or AAudio on API 27+) which will give the best audio performance on the target Android device
- Automatic latency tuning
- Modern C++ allowing you to write clean, elegant code
- Workarounds for some known issues
- Used by popular apps and frameworks
- Getting Started Guide
- Full Guide to Oboe
- API reference
- Tech Notes
- History of Audio features/bugs by Android version
- Migration guide for apps using OpenSL ES
- Frequently Asked Questions (FAQ)
- Our roadmap - Vote on a feature/issue by adding a thumbs up to the first comment.
- Reddit: r/androidaudiodev
- StackOverflow: #oboe
- Getting started with Oboe
- Low Latency Audio - Because Your Ears Are Worth It (Android Dev Summit '18)
- Winning on Android - How to optimize an Android audio app. (ADC '18)
- Sample apps can be found in the samples directory.
- A complete "effects processor" app called FXLab can be found in the apps/fxlab folder.
- Also check out the Rhythm Game codelab.
- Ableton Link integration demo (author: jbloit)
We would love to receive your pull requests. Before we can though, please read the contributing guidelines.
View the releases page.