React Native library capable of generating DTMF tones
npm install react-native-dtmf$ npm install react-native-dtmf --save
$ react-native link react-native-dtmf
javascript
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);
`
$3
Function | Description
--- | ---
startTone(tone) | This method starts the playback of a tone of the specified type for a maximum of 5 seconds.
playTone(tone, durationMs) | This method starts the playback of a tone of the specified type for the specified duration.
stopTone() | This method stops the tone currently playing.
$3
| 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 | * | 941 Hz + 1209 Hz |
| DTMF_P | # | 941 Hz + 1477 Hz |
Manual installation
$3
1. In XCode, in the project navigator, right click
Libraries ➜ Add Files to [your project's name]
2. Go to node_modules ➜ react-native-dtmf and add RNDtmf.xcodeproj
3. In XCode, in the project navigator, select your project. Add libRNDtmf.a to your project's Build Phases ➜ Link Binary With Libraries
4. Run your project (Cmd+R)<$3
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
2. 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')
`
3. Insert the following lines inside the dependencies block in android/app/build.gradle:
`
compile project(':react-native-dtmf')
``