Skip to content

He1nr1chK/react-native-audio-record

 
 

Repository files navigation

react-native-audio-record

Audio record buffers for iOS and Android.

Install

yarn add react-native-audio-record
react-native link react-native-audio-record

iOS

cd ios
pod install

Android

sync Gradle

Usage

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

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

Audio record buffers for React Native (iOS and Android)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 32.7%
  • JavaScript 32.0%
  • Objective-C 28.0%
  • Starlark 5.2%
  • Ruby 2.1%