UNPKG

react-native-dtmf

Version:

React Native library capable of generating DTMF tones

76 lines (59 loc) 2.55 kB
# react-native-dtmf ## Getting started `$ npm install react-native-dtmf --save` ### Automatic installation `$ react-native link react-native-dtmf` ## Usage ```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); ``` ### API Function | Description --- | --- <nobr>**startTone**(*tone*)</nobr> | This method starts the playback of a tone of the specified type for a maximum of 5 seconds. <nobr>**playTone**(*tone*,&#160;*durationMs*)</nobr> | This method starts the playback of a tone of the specified type for the specified duration. <nobr>**stopTone**()</nobr> | 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 | * | 941 Hz + 1209 Hz | | DTMF_P | # | 941 Hz + 1477 Hz | ## Manual installation ### iOS 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`)< ### 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 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') ```