# react-native-audio **Repository Path**: ylw-service/react-native-audio ## Basic Information - **Project Name**: react-native-audio - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-13 - **Last Updated**: 2021-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 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](https://github.com/zmxv/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`: ``` NSMicrophoneUsageDescription This sample uses the microphone to record your speech and convert it to text. ``` On *Android* you need to add a permission to `AndroidManifest.xml`: ``` ``` ### 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](https://github.com/jsierles/react-native-audio/blob/master/AudioExample/index.ios.js) for more details. For playing audio check out [React Native Sound](https://github.com/zmxv/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.