Skip to content

criticalmiind/react-native-audio-recording-stream

Repository files navigation

react-native-audio-recording-stream

Audio record buffers for iOS and Android.

Install

yarn add react-native-audio-recording-stream
react-native link react-native-audio-recording-stream

Usage

import AudioRecord from 'react-native-audio-recording-stream';

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'
  chunkSize: 4096, //8192
};

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

Example folder contain sample apps for recording (using this module) and playback (using 3rd party modules)

Credits/References

I'm not a native app developer. Most of the code is taken from online resources.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published