UNPKG

react-native-audio-recorder-player

Version:
104 lines (97 loc) 3.11 kB
"use strict"; import { NitroModules } from 'react-native-nitro-modules'; export * from "./AudioRecorderPlayer.nitro.js"; class AudioRecorderPlayerImpl { hybridObject = null; getHybridObject() { if (!this.hybridObject) { try { console.log('🔧 Creating AudioRecorderPlayer HybridObject...'); this.hybridObject = NitroModules.createHybridObject('AudioRecorderPlayer'); console.log('🔧 HybridObject created successfully:', !!this.hybridObject); } catch (error) { console.error('🔧 Failed to create HybridObject:', error); throw new Error(`Failed to create AudioRecorderPlayer HybridObject: ${error}`); } } return this.hybridObject; } // Recording methods async startRecorder(uri, audioSets, meteringEnabled) { try { console.log('🔧 Getting HybridObject for startRecorder...'); const hybridObject = this.getHybridObject(); console.log('🔧 HybridObject obtained, calling startRecorder...'); console.log('🔧 Parameters:', { uri, audioSets, meteringEnabled }); const result = await hybridObject.startRecorder(uri, audioSets, meteringEnabled); console.log('🔧 startRecorder completed with result:', result); return result; } catch (error) { console.error('🔧 startRecorder failed:', error); throw error; } } async pauseRecorder() { return this.getHybridObject().pauseRecorder(); } async resumeRecorder() { return this.getHybridObject().resumeRecorder(); } async stopRecorder() { return this.getHybridObject().stopRecorder(); } // Playback methods async startPlayer(uri, httpHeaders) { return this.getHybridObject().startPlayer(uri, httpHeaders); } async stopPlayer() { return this.getHybridObject().stopPlayer(); } async pausePlayer() { return this.getHybridObject().pausePlayer(); } async resumePlayer() { return this.getHybridObject().resumePlayer(); } async seekToPlayer(time) { return this.getHybridObject().seekToPlayer(time); } async setVolume(volume) { return this.getHybridObject().setVolume(volume); } async setPlaybackSpeed(playbackSpeed) { return this.getHybridObject().setPlaybackSpeed(playbackSpeed); } // Subscription setSubscriptionDuration(sec) { this.getHybridObject().setSubscriptionDuration(sec); } // Listeners addRecordBackListener(callback) { this.getHybridObject().addRecordBackListener(callback); } removeRecordBackListener() { this.getHybridObject().removeRecordBackListener(); } addPlayBackListener(callback) { this.getHybridObject().addPlayBackListener(callback); } removePlayBackListener() { this.getHybridObject().removePlayBackListener(); } // Utility methods mmss(secs) { return this.getHybridObject().mmss(secs); } mmssss(milisecs) { return this.getHybridObject().mmssss(milisecs); } } // Create singleton instance const AudioRecorderPlayer = new AudioRecorderPlayerImpl(); export default AudioRecorderPlayer; //# sourceMappingURL=index.js.map