Push: openStream
You hold a handle and push frames asAudioRecord produces them.
Pull: transcribeStream
You already have aFlow<AudioInput>.
Signatures
Driving it from AudioRecord
finally. A leaked AudioRecord holds
the microphone for the whole process.
Choosing between them
Push suits a live microphone, sinceAudioRecord already hands you buffers in a loop. Pull
suits a source you can express as a Flow, such as a file read in chunks or audio arriving
over the network.