$ npm install react-native-dtmf --save
$ react-native link react-native-dtmf
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);
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. |
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 |
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜react-native-dtmf
and addRNDtmf.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNDtmf.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)<
- 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 thegetPackages()
method
- 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')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':react-native-dtmf')