Skip to content

A module to play system sounds and beeps for React Native on iOS and Android (no sound files).

License

Notifications You must be signed in to change notification settings

dashdoc/react-native-system-sounds

Repository files navigation

@dashdoc/react-native-system-sounds

A module to play system sounds and beeps for React Native on iOS and Android (no sound files).

Heavily inspired by react-native-a-beep
Built with react-native-module-init

Installation

Mostly automatic install with autolinking (RN > 0.60)

  1. Install package from npm
yarn add @dashdoc/react-native-system-sounds
  1. Install iOS Pods
cd ios && pod install && cd ..

Mostly automatic install with react-native link (RN < 0.60)

  1. Install package from npm
yarn add @dashdoc/react-native-system-sounds
  1. Link package with react-native link
yarn react-native link @dashdoc/react-native-system-sounds
  1. Install iOS Pods
cd ios && pod install && cd ..

Usage

import RNSystemSounds from '@dashdoc/react-native-system-sounds';

// ...

<Button
  title="Play positive beep"
  onPress={() => RNSystemSounds.beep()}
/>

<Button
  title="Play negative beep"
  onPress={() => RNSystemSounds.beep(RNSystemSounds.Beeps.Negative)}
/>

<Button
  title="Play custom system sound"
  onPress={() =>
    RNSystemSounds.play(
      Platform.select({
        android: RNSystemSounds.AndroidSoundIDs.TONE_CDMA_ABBR_ALERT,
        ios: RNSystemSounds.iOSSoundIDs.AudioToneBusy,
      })
    )
  }
/>

Example

  1. Clone the repository, enter the example directory and install dependencies.
git clone [email protected]:dashdoc/react-native-system-sounds.git
cd example/
yarn install
  1. Install iOS Pods,
cd ios && pod install && cd ..
  1. Start bundler.
yarn start
  1. On a new terminal, run the app on the <platform> of your choice (ios or android).
cd example/
yarn <platform>

Caveats

This does not work on iOS simulator.

License

MIT