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

34 lines 1.72 kB
import { TurboModule } from 'react-native'; import { AudioDevicesInfo, AudioFocusType, PermissionStatus } from '../system/types'; type OptionsMap = { [key: string]: string | boolean | number | undefined; }; type NotificationOpResponse = { success: boolean; error?: string; }; type NotificationType = 'playback' | 'recording' | 'simple'; interface Spec extends TurboModule { install(): boolean; getDevicePreferredSampleRate(): number; isFfmpegEnabled(): boolean; setAudioSessionActivity(enabled: boolean): Promise<void>; setAudioSessionOptions(category: string, mode: string, options: Array<string>, allowHaptics: boolean, notifyOthersOnDeactivation: boolean): void; disableSessionManagement(): void; observeAudioInterruptions(focusType: AudioFocusType, enabled: boolean): void; activelyReclaimSession(enabled: boolean): void; observeVolumeChanges(enabled: boolean): void; requestRecordingPermissions(): Promise<PermissionStatus>; checkRecordingPermissions(): Promise<PermissionStatus>; requestNotificationPermissions(): Promise<PermissionStatus>; checkNotificationPermissions(): Promise<PermissionStatus>; getDevicesInfo(): Promise<AudioDevicesInfo>; setInputDevice(deviceId: string): Promise<void>; showNotification(type: NotificationType, key: string, options: OptionsMap): Promise<NotificationOpResponse>; hideNotification(key: string): Promise<NotificationOpResponse>; isNotificationActive(key: string): Promise<boolean>; readAndroidReleaseAssetBytesAsBase64(assetPath: string): Promise<string>; } declare const NativeAudioAPIModule: Spec; export { NativeAudioAPIModule }; //# sourceMappingURL=NativeAudioAPIModule.web.d.ts.map