UNPKG

@beapp/react-native-record-screen

Version:
62 lines (53 loc) 2.03 kB
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } import { NativeModules, Dimensions, PermissionsAndroid } from 'react-native'; const { RecordScreen } = NativeModules; const RS = RecordScreen; class ReactNativeRecordScreenClass { constructor() { _defineProperty(this, "_screenWidth", Dimensions.get('window').width); _defineProperty(this, "_screenHeight", Dimensions.get('window').height); } setup(config = {}) { const conf = Object.assign({ audio: true, width: this._screenWidth, height: this._screenHeight }, config); RS.setup(conf); } async startRecording(config = {}) { await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE, { title: 'Cool Photo App Camera Permission', message: 'Cool Photo App needs access to your camera ' + 'so you can take awesome pictures.', buttonNeutral: 'Ask Me Later', buttonNegative: 'Cancel', buttonPositive: 'OK' }); await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.CAMERA, { title: 'Cool Photo App Camera Permission', message: 'Cool Photo App needs access to your camera ' + 'so you can take awesome pictures.', buttonNeutral: 'Ask Me Later', buttonNegative: 'Cancel', buttonPositive: 'OK' }); Object.keys(config).length && this.setup(config); return new Promise((resolve, reject) => { RS.startRecording().then(resolve).catch(reject); }); } stopRecording() { return new Promise((resolve, reject) => { RS.stopRecording().then(resolve).catch(reject); }); } clean() { return new Promise((resolve, reject) => { RS.clean().then(resolve).catch(reject); }); } } const ReactNativeRecordScreen = new ReactNativeRecordScreenClass(); export default ReactNativeRecordScreen; //# sourceMappingURL=index.js.map