This function initializes a connection to the native backend (if not already available).
Returns a Uint8List stream representing the captured audio.
IMPORTANT - on iOS, there is no guarantee that captured audio will be encoded with the requested sampleRate/bitDepth.
You must check the sampleRate and bitDepth properties of the MicStream object after invoking this method (though this does not need to be before listening to the returned stream).
This is why this method returns a Uint8List - if you request a deeper encoding,
you will need to manually convert the returned stream to the appropriate type,
e.g., for 16 bit map each element using uint8List.buffer.asUint16List().
Alternatively, you can call toSampleStream(Stream<Uint8List>) to transform the raw stream to a more easily usable stream.
Updates flag to determine whether to request audio recording permission. Set to false to disable dialogue, set to true (default) to request permission if necessary