/react-native-dtmf

React Native library capable of generating DTMF tones

Primary LanguageObjective-CMIT LicenseMIT

react-native-dtmf

Getting started

$ npm install react-native-dtmf --save

Automatic installation

$ react-native link react-native-dtmf

Usage

import dtmf from 'react-native-dtmf';

// Start playing back the tone corresponding to the number "2".
dtmf.startTone(dtmf.DTMF_2);

// 300ms later stop the tone.
setTimeout(() => {
  dtmf.stopTone();
}, 300);

API

Function Description
startTone(tone) This method starts the playback of a tone of the specified type for a maximum of 5 seconds.
playTone(tonedurationMs) This method starts the playback of a tone of the specified type for the specified duration.
stopTone() This method stops the tone currently playing.

Constants

Constant Digit Tone
DTMF_0 0 941 Hz + 1336 Hz
DTMF_1 1 697 Hz + 1209 Hz
DTMF_2 2 697 Hz + 1336 Hz
DTMF_3 3 697 Hz + 1477 Hz
DTMF_4 4 770 Hz + 1209 Hz
DTMF_5 5 770 Hz + 1336 Hz
DTMF_6 6 770 Hz + 1477 Hz
DTMF_7 7 852 Hz + 1209 Hz
DTMF_8 8 852 Hz + 1336 Hz
DTMF_9 9 852 Hz + 1477 Hz
DTMF_A A 697 Hz + 1633 Hz
DTMF_B B 770 Hz + 1633 Hz
DTMF_C C 852 Hz + 1633 Hz
DTMF_D D 941 Hz + 1633 Hz
DTMF_S / DTMF_STAR * 941 Hz + 1209 Hz
DTMF_P / DTMF_POUND # 941 Hz + 1477 Hz

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-dtmf and add RNDtmf.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNDtmf.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/[...]/MainActivity.java
  • Add import ca.bigdata.voice.dtmf.BigDataDTMFPackage; to the imports at the top of the file
  • Add new BigDataDTMFPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-dtmf'
    project(':react-native-dtmf').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-dtmf/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':react-native-dtmf')