npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

qlx-react-native-audio-player-recorder

v2.0.0

Published

React Native extension for playing and recording audio

Readme

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:

yarn add [email protected]

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

Please run

yarn add [email protected]

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.