Coder Social home page Coder Social logo

moschan / react-native-audio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jsierles/react-native-audio

1.0 2.0 0.0 493 KB

Audio recorder library for React Native

License: MIT License

JavaScript 25.97% Python 4.64% Java 32.81% Objective-C 36.57%

react-native-audio's Introduction

Record audio in iOS or Android React Native apps.

BREAKING CHANGES

For React Native >= 0.40, use v3.1.0 and up. For React Native <= 0.39, use v3.0.0 or lower.

v3.x removed playback support in favor of using more mature libraries like react-native-sound. If you need to play from the network, please submit a PR to that project or try react-native-video.

Installation

Install the npm package and link it to your project:

npm install react-native-audio --save
react-native link react-native-audio

On iOS you need to add a usage description to Info.plist:

<key>NSMicrophoneUsageDescription</key>
<string>This sample uses the microphone to record your speech and convert it to text.</string>

On Android you need to add a permission to AndroidManifest.xml:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

Running the Sample App

In the AudioExample directory:

npm install
react-native run-ios
react-native run-android

Usage

To record in AAC format, at 22050 KHz in low quality mono:

import {AudioRecorder, AudioUtils} from 'react-native-audio';
let audioPath = AudioUtils.DocumentDirectoryPath + '/test.aac';

AudioRecorder.prepareRecordingAtPath(audioPath, {
  SampleRate: 22050,
  Channels: 1,
  AudioQuality: "Low",
  AudioEncoding: "aac"
});

Cross-platform options

SampleRate: int
Channels: int
AudioQuality: string
AudioEncoding: string

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

iOS-only fields

The MeteringEnabled boolean to enable audio metering.

Android-only fields

AudioEncodingBitRate: int OutputFormat: string, mpeg_4, aac_adts, amr_nb, amr_wb, three_gpp, webm

See the example for more details. For playing audio check out React Native Sound

MP3 recording is not supported since the underlying platforms do not support it.

Thanks to Brent Vatne, Johannes Lumpe, Kureev Alexey, Matthew Hartman and Rakan Nimer for their assistance.

Progress tracking code borrowed from https://github.com/brentvatne/react-native-video.

react-native-audio's People

Contributors

aadidenko avatar akio0o avatar brodanoel avatar cooperka avatar dannyyaou avatar getsetbro avatar hartmamt avatar jsierles avatar lefnire avatar lennonr avatar maxhawkins avatar moschan avatar neilsarkar avatar phanalpha avatar rakannimer avatar rcchen avatar tianquliu avatar tommoor avatar vaukalak avatar wootwoot1234 avatar zhangtaii avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.