oboe icon indicating copy to clipboard operation
oboe copied to clipboard

Oboe is a C++ library that makes it easy to build high-performance audio apps on Android.

Oboe Build CI

Introduction to Oboe video

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).

Features

  • 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

Documentation

  • 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.

Community

Testing

  • OboeTester app for measuring latency, glitches, etc.
  • Oboe unit tests

Videos

Sample code and apps

  • 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.

Third party sample code

Contributing

We would love to receive your pull requests. Before we can though, please read the contributing guidelines.

Version history

View the releases page.

License

LICENSE