 <blockquote> <p>With the AudioQueue, I can register for a callback whenever the system needs sound, and respond by filling a buffer with raw audio data.</p> </blockquote> <p>The closest analogy to this in Android is <a href="http://developer.android.com/reference/android/media/AudioTrack.html" rel="nofollow"><code>AudioTrack</code></a>. Rather than the callback (pull) mechanism you are using, <code>AudioTrack</code> is more of a push model, where you keep writing to the track (presumably in a background thread) using blocking calls.</p>