Skip to content

Native notification sounds list. returns the id, title and url of the sounds. works for iOS and Android

License

Notifications You must be signed in to change notification settings

saadqbal/react-native-notification-sounds

Repository files navigation

react-native-notification-sounds

Getting started

$ npm install react-native-notification-sounds --save

Mostly automatic installation

$ react-native link react-native-notification-sounds

Manual installation

iOS

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-notification-sounds and add NotificationSounds.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libNotificationSounds.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<

Android

  1. Open up android/app/src/main/java/[...]/MainApplication.java
  • Add import com.reactlibrary.NotificationSoundsPackage; to the imports at the top of the file
  • Add new NotificationSoundsPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
include ':react-native-notification-sounds'
project(':react-native-notification-sounds').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-notification-sounds/android')
  1. Insert the following lines inside the dependencies block in android/app/build.gradle:
compile project(':react-native-notification-sounds')

Usage

import NotificationSounds, { playSampleSound } from  'react-native-notification-sounds';
/*
get the list of System notification sounds. This function returns an array the array contains Title, Url, SoundID
You can pass the following values to the getNotifications:
1. notification: get the list of notification sounds
2. ringtone: get the list of ringtones
3. alarm: get the list of alarm sounds (android only)
*/
NotificationSounds.getNotifications('notification').then(soundsList  => {
	console.warn('SOUNDS', JSON.stringify(soundsList));
	/*
	Play the notification sound.
	pass the complete sound object.
	This function can be used for playing the sample sound
	*/
	playSampleSound(soundsList[1]);
	// if you want to stop any playing sound just call:
	// stopSampleSound();
});

🔥 Methods

Name Description
playSampleSound(SoundItem) Plays the sound item returned by getNotifications(type)
stopSampleSound() call this function to stop the current playing sound
NotificationSounds.getNotifications(type) A promise which returns list of the system sounds filtered by the type. Type can have any of the (notification, ringtone, alarm (android only) ) values

🔥 Features

✅ Get the list of system notification or ringtone sounds.
✅ Filter the sounds by notification, ringtone or alarm.
✅ Play the sound without installing any other library
✅ Stop the currently playing notification sound.

Important Note

Unfortunately, this library WILL NOT return any files in the iOS simulator. You must run it on a real iOS device (iPhone, iPad, iPod Touch).

📄 License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

Native notification sounds list. returns the id, title and url of the sounds. works for iOS and Android

Resources

License

Stars

Watchers

Forks

Packages

No packages published