react-native-pitch-tracker-extended
Version:
React Native Pitch Tracker implemented with Tensorflow Lite Model
36 lines (33 loc) • 947 B
JavaScript
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
import { request, PERMISSIONS, RESULTS } from 'react-native-permissions';
const {
PitchTracker
} = NativeModules;
const eventEmitter = new NativeEventEmitter(PitchTracker);
const askPermission = async () => {
try {
let permission = Platform.select({
android: PERMISSIONS.ANDROID.RECORD_AUDIO,
ios: PERMISSIONS.IOS.MICROPHONE
});
const result = await request(permission);
if (result === RESULTS.GRANTED) {
console.log('Microphone Permission Successful');
}
} catch (error) {
console.log('askPermission', error);
}
};
export default { ...PitchTracker,
prepare: () => {
askPermission();
PitchTracker.prepare();
},
noteOn: callback => {
eventEmitter.addListener('NoteOn', callback);
},
noteOff: callback => {
eventEmitter.addListener('NoteOff', callback);
}
};
//# sourceMappingURL=index.js.map