UNPKG

react-native-audio-api

Version:

react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification

35 lines (31 loc) 1.12 kB
import type { IAudioManager, PermissionStatus } from '../system/types'; const mockAsync = <T>(value: T) => () => Promise.resolve(value); const mockSync = <T>(value: T) => () => value; class AudioManager implements IAudioManager { getDevicePreferredSampleRate = mockSync(44100); setAudioSessionActivity = mockAsync(undefined); setAudioSessionOptions = mockSync({}); disableSessionManagement = mockSync({}); observeAudioInterruptions = mockSync(true); activelyReclaimSession = mockSync({}); observeVolumeChanges = mockSync({}); addSystemEventListener = mockSync(undefined); requestRecordingPermissions = mockAsync('Granted' as PermissionStatus); checkRecordingPermissions = mockAsync('Granted' as PermissionStatus); requestNotificationPermissions = mockAsync('Granted' as PermissionStatus); checkNotificationPermissions = mockAsync('Granted' as PermissionStatus); setInputDevice = mockAsync(undefined); getDevicesInfo = mockAsync({ availableInputs: [], availableOutputs: [], currentInputs: [], currentOutputs: [], }); } export default new AudioManager();