For applications that requires audio output accuracy (e.g. metronome, drum machine), real-time (PCM) buffer audio output support is required to deliver sample-level accuracy.
As comparison:
  • In Qt we can use
    QAudioSink::start(Callback &&cb)
    to achieve that
  • In Web Audio API we can use
    AudioContext
    +
    AudioBuffer
    to achieve that.
  • In Android we have
    AudioTrack.StreamEventCallback
  • In JUCE we can implement
    getNextAudioBlock()
It could be great if expo-audio have similar API that allows developer to do so.