Giter VIP home page Giter VIP logo

react-native-audio-player-recorder's Introduction

React Native Audio Player Recorder npm version

NPM

Record and play back audio through Loud Speaker, Receiver, Bluetooth and Headphones in your iOS or Android React Native apps.

Features

react-native-audio-player-recorder is a package that allows you to:

  • Record audio on both iOS and Android with Progress reporting and features such as: recording, pause recording and stop recording.
  • Play audio on both iOS and Android with progress reporting and features such as: playing, pause playing and stop playing.

Installation

Install package

  • Install with npm:

If you're using react-native version < 0.40.0

Please run:

npm install [email protected] --save

If you're using react-native version >= 0.40.0

Please run

npm install [email protected] --save
  • Install with yarn:

If you're using react-native version < 0.40.0

Please run:

If you're using react-native version >= 0.40.0

Please run

Link native libraries

react-native link react-native-audio-player-recorder

Configration for iOS and Android

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" />

Quick Getting Started

In the Example directory:

npm install
react-native run-ios

API Documentation

AudioRecorder

Method Method Description Parameters Parameters Description
prepareRecordingAtPath This method must be called before recording to set up the recording path and set the recording audio quality and output format and so on. path, options path: the local path to store the recording audio. options: the recording options
startRecording Start recording
pauseRecording Pause recording
stopRecording When this method is called, the recorded audio file will be saved to local automatically.
playRecording Playing the recorded audio after recording finishes.
stopPlaying Stop playing the recorded audio.
pausePlaying Pause playing the recorded audio.
onProgress Recording progress reporting callback function.
onFinished Recording finishes callback function.

AudioPlayer

Method Method Description Parameters Parameters Description
play Play audio form path with options path, options path: local audio path options: the playing options
playWithUrl url, options url: audio url options: the playing options
pause Pause playing
unpause Unpause playing
stop Stop playing audio
skipToSeconds Play audio from some position, the unit is second position position: use second as unit
onProgress Playing progress reporting callback, must call function setProgressSubscription to subscribe the onProgress callback data
setProgressSubscription onProgress callback subscriotion
onFinished Playing finish callback, must call function setFinishedSubscription to subscribe the onFinished callback
setFinishedSubscription onFinished callback subscription
getOutputs Get current available outputs, will return an array of String, for example the outputs can be: ["Phone", "Phone Speaker", "Bluetooth"]
Available Playback Outputs

When playing audio, there are chances that the headphone is plugged, or the bluetooth headset is connected to your device.

react-native-audio-player-recorder supports to get current the available outputs.

_getAvailableOutputs() {
  AudioPlayer.getOutputs(outputs => {
    console.log('outputs========', outputs)
  })
}
Set Playback Outputs With Options

react-native-audio-player-recorder supports to play audio via appointed output.

Play Audio via outputs by passing output params:

  • Receiver: Phone

  • Loud Speaker: Phone Speaker

  • Bluetooth: Bluetooth

  • Headphones: Headphones

_playViaOutput(output) {
  let audioPath = AudioUtils.DocumentDirectoryPath + '/test.aac';      
  let options = {output: 'Phone'};
  AudioPlayer.play(audioPath, options)      
}

Support

This package is forked from https://github.com/jsierles/react-native-audio.

We borrow some features from it, learn a lot and add features such as: Playing via appointed outputs, get current available outputs, add audio progress reporting support for Andoid and so on.

If you like the component and want to support it, feel free to donate any amount or help with issues.

react-native-audio-player-recorder's People

Contributors

jsierles avatar hanpanpan200 avatar wootwoot1234 avatar garygao avatar rakannimer avatar hartmamt avatar neilsarkar avatar tommoor avatar brodanoel avatar rcchen avatar aadidenko avatar tianquliu avatar lennonr avatar maxhawkins avatar getsetbro avatar akio0o avatar vaukalak avatar

Watchers

James Cloos avatar Thủy Đào 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.