About this project
Oboe is a C++ library designed to make it easier to build high-performance audio applications on Android. Its main goal is to provide a simplified API that works across multiple Android API levels, going back to API level 16 (Jelly Bean).
Key features described in the README:
- Compatibility with API 16 and later, which the project says covers the vast majority of Android devices.
- Automatic selection of the audio API: OpenSL ES on API 16+ or AAudio on API 27+, aiming for the best audio performance on the target device.
- Automatic latency tuning.
- Modern C++ style intended to support clean, elegant code.
- Workarounds for some known issues.
- Adoption by popular apps and frameworks, with a wiki page listing them.
Documentation resources include a Getting Started Guide, a Full Guide to Oboe, an API reference, a history of Android audio features and bugs by version, a migration guide for apps using OpenSL ES, an FAQ, a wiki, and a public roadmap where users can vote on features or issues.
Community channels listed are a Reddit community (r/androidaudiodev) and StackOverflow questions tagged #oboe.
For testing, the project provides the OboeTester app for measuring latency, glitches and similar metrics, plus Oboe unit tests. There are also video resources, including a getting-started playlist, an Android Dev Summit talk on low-latency audio, and an ADC talk on optimizing Android audio apps.
Sample code includes sample apps in a samples directory, a complete effects processor app called FXLab under apps/fxlab, and a linked Rhythm Game codelab. A third-party Ableton Link integration demo is also referenced.
The project welcomes pull requests and points contributors to its contributing guidelines. Version history is available on the releases page, and licensing information is in the LICENSE file.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.