UNPKG

react-native-pitch-tracker-extended

Version:

React Native Pitch Tracker implemented with Tensorflow Lite Model

36 lines (33 loc) 947 B
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