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
TypeScript
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