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
text/typescript
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();