Audio record buffers for iOS and Android.
yarn add react-native-audio-record react-native link react-native-audio-record import AudioRecord from 'react-native-audio-record'; const options = { sampleRate: 16000, // default 44100 channels: 1, // 1 or 2, default 1 bitsPerSample: 16, // 8 or 16, default 16 audioSource: 6, // android only (see below) wavFile: 'test.wav' // default 'audio.wav' }; AudioRecord.init(options); AudioRecord.start(); AudioRecord.stop(); // or to get the wav file path audioFile = await AudioRecord.stop(); AudioRecord.on('data', data => { // base64-encoded audio data chunks });For audioSource use one of the constant values from here. Default value is 6 (VOICE_RECOGNITION).
Use 3rd-party module like buffer to decode base64 data. Example -
// yarn add buffer import { Buffer } from 'buffer'; chunk = Buffer.from(data, 'base64');Don't forget to add microphone permission in your app.
Example folder contain sample apps for recording (using this module) and playback (using 3rd party modules)
App1.js- uses react-native-sound for playback and pauseApp2.js- uses react-native-video for playback, pause and report progressApp3.js- uses react-native-audio-player-recorder for playback, pause and report progress
I'm not a native app developer. Most of the code is taken from online resources.