Questions tagged [oboe]

Oboe is a C++ library for creating real-time audio apps on Android.

Oboe is a C++ library for creating real-time audio apps on Android. It uses AAudio on Android API 27 and above, falling back to OpenSL ES on older devices.

The purpose of Oboe is to provide a simple, easy to use API for developers to build low latency, real-time audio apps on Android. It's open source and maintained by Google engineers.

This tag should be used for all questions relating to Oboe, although please check the FAQ before posting.

84 questions
8
votes
1 answer

Sharing audio(Mic) input to multiple apps in Android

As per official documentation Android 10 (API level 29) and higher imposes a priority scheme that can switch the input audio stream between apps while they are running. In most cases, if a new app acquires the audio input, the previously capturing…
5
votes
1 answer

How to read data from a stream using callback function. Oboe-Android

I'm currently working on a project where I need low-latency audio, so I decided to use Oboe (google library) to work with it. I've read the documentation but multiple questions arise from it. First, once I create my stream using the builder pattern,…
5
votes
1 answer

Using AssetManager class from Android NDK in a Flutter app

I've been trying to use the Android NDK's AssetManager class in my Flutter app, that works with Google Oboe, to access to audio files. Following this example in the Oboe repository, I learned that they obtain the AssetManager from Java like…
Facundo Farall
  • 500
  • 6
  • 18
5
votes
2 answers

How to play decoded in-memory PCM with Oboe properly?

I use oboe to play sounds in my ndk library, and I use OpenSL with Android extensions to decode wav files into PCM. Decoded signed 16-bit PCM are stored in-memory (std::forward_list), and then they are sent into the oboe stream via a…
barsoosayque
  • 329
  • 2
  • 11
4
votes
0 answers

prefab oboe REQUIRED CONFIG not found in Cmdline-tools (version 6858069)

I've implemented oboe in my android project using prefab with the find_package(oboe REQUIRED CONFIG) line in my CMakeLists.txt file In Android studio 4.1.1 works like a charm, I'm able to use oboe seamlessly. However, in my Jenkins instance which…
alexm
  • 1,285
  • 18
  • 36
4
votes
1 answer

Oboe C++ Threads - How to read and write to a queue without blocking

I am trying to write a buffer for an audio system with Oboe, the do and don'ts are Callback do's and don'ts You should never perform an operation which could block inside onAudioReady. Examples of blocking operations include: allocate memory using,…
cs guy
  • 926
  • 2
  • 13
  • 33
4
votes
2 answers

Oboe Async Audio Extraction

I am trying to build a NDK based C++ low latency audio player which will encounter three operations for multiple audios. Play from assets. Stream from an online source. Play from local device storage. From one of the Oboe samples provided by…
Atif Rehman
  • 106
  • 8
3
votes
1 answer

How to handle speaker change with Android Oboe library?

I'm trying to implement Oboe library to my project to perform the least latency when playing sounds. I could perform playback manipulating, panning, mixing, the basics things which internal Android library such as SoundPool can provide. I wanted to…
Mandarin Smell
  • 391
  • 2
  • 17
3
votes
1 answer

How to use Oboe (the C++ library for low latency audio for Android) to receive the byte[] buffer from DatagramPacket?

I would like to do audio live streaming over WiFi between 2 Android devices. In order to reduce the audio latency, applying the Oboe C++ library seems to be a right direction to go. My current structure is to use DatagramPacket to transmit and…
MAGNETO
  • 31
  • 2
3
votes
1 answer

How to give blank data for Oboe library to play as sound?

Sometimes I want my audio output in Oboe to play nothing, but I dont want it to stop, I just want it to be silent while no data arrives. I tried: static void writeBlankData(float* pointer, int numFrames) { std::fill_n(pointer, numFrames,…
PPP
  • 1,279
  • 1
  • 28
  • 71
3
votes
0 answers

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) from /system/lib/libhwui.so

This issue arises from the android run time. Any idea what this is ? I am using native code here which plays an audio file in the background. When I just start to play around with the ui of the app this issue pops up. The app works fine in android…
Sarasranglt
  • 3,819
  • 4
  • 23
  • 36
3
votes
1 answer

Building graphics UI in Android NDK

I'm building an audio / music app. in Android. And because of this I'm using the new Oboe C++ library. I'm wondering how people do graphics and UI in Android with NDK applications. I don't think I need OpenGL or a low level, fast graphics library.…
interstar
  • 26,048
  • 36
  • 112
  • 180
3
votes
2 answers

Where can I find a working CMakeLists.txt for new android studio project with oboe?

I'm starting a new project with oboe. I'm using the exact same CMakeLists.txt on Github/Oboe. To be honest, this is my first android native project. I have solid knowledge of C++, but I've never used CMake in my life. I've been trying for hours to…
Raymond Arteaga
  • 4,355
  • 19
  • 35
3
votes
1 answer

How to avoid crackling popping sounds after increase volume in Oboe?

I'm started to implement Oboe c++ library for Android. (According to Build a Musical Game using Oboe I just scale the sample for increasing the volume and it works but with crackling popping. can I increase the amplitude without getting the…
Matan
  • 296
  • 5
  • 24
3
votes
1 answer

Android oboe c++ Some sounds distorted on playback

I'm using the Android oboe library for high performance audio in a music game. In the assets folder I have 2 .raw files (both 48000Hz 16 bit PCM wavs and about 60kB) std_kit_sn.raw std_kit_ht.raw These are loaded into memory as SoundRecordings and…
TomV
  • 1,157
  • 1
  • 13
  • 25
1
2 3 4 5 6