I checked out some libraries and the most up to speed library is
react-native-audio, it would require to add the permission to the respected platform and linking the dependencies. It will use the audio recorder of the specific platform by default.
Regarding the comment @tessus made about using opus, I checked the library and it seems like aac would be best to use here since it is supported on both platforms
Encodings supported on iOS: lpcm, ima4, aac, MAC3, MAC6, ulaw, alaw, mp1, mp2, alac, amr
Encodings supported on Android: aac, aac_eld, amr_nb, amr_wb, he_aac, vorbis
However we could limit the bitrate and provide settings for audio quality like:
low, medium, high.
I think if we expect the users to record voice audio it is fair to say that low audio quality is sufficient since there is not much bitrate needed to clearly understand voice. Since i did no testing I cannot say how big the audio is gonna be, but I would set a general limit to 2 - 3 Minutes.