one
Version:
One is a React framework for web, iOS, and Android apps.
88 lines • 3.5 kB
TypeScript
import type { HybridObject } from 'react-native-nitro-modules';
export type AudioRecordingPermission = 'undetermined' | 'granted' | 'denied';
export type AudioPlaybackState = 'idle' | 'loading' | 'playing' | 'paused' | 'ended' | 'failed';
export type AudioRecordingState = 'idle' | 'recording' | 'paused';
export interface AudioPlaybackStatus {
state: AudioPlaybackState;
uri?: string;
positionMs: number;
durationMs?: number;
error?: string;
}
export interface AudioRecordingStatus {
state: AudioRecordingState;
uri?: string;
durationMs: number;
}
export interface AudioRecordingResult {
uri: string;
durationMs: number;
size: number;
}
export type AudioInterruptionType = 'began' | 'ended';
export interface AudioInterruptionEvent {
type: AudioInterruptionType;
shouldResume: boolean;
}
export interface AudioNowPlayingInfo {
title: string;
artist?: string;
albumTitle?: string;
artworkUri?: string;
}
export type PitchCorrectionQuality = 'low' | 'medium' | 'high';
export interface AudioPlayerStatus {
currentTime: number;
duration: number;
playing: boolean;
paused: boolean;
isLoaded: boolean;
isBuffering: boolean;
loop: boolean;
muted: boolean;
volume: number;
playbackRate: number;
shouldCorrectPitch: boolean;
error?: string;
didJustFinish: boolean;
}
export type AudioRemoteCommandType = 'play' | 'pause' | 'seek';
export interface AudioRemoteCommandEvent {
type: AudioRemoteCommandType;
positionMs?: number;
}
export interface OneAudio extends HybridObject<{
ios: 'swift';
android: 'kotlin';
}> {
getRecordingPermissionStatus(): Promise<AudioRecordingPermission>;
requestRecordingPermission(): Promise<AudioRecordingPermission>;
play(uri: string): Promise<AudioPlaybackStatus>;
getPlaybackStatus(): Promise<AudioPlaybackStatus>;
pause(): Promise<AudioPlaybackStatus>;
resume(): Promise<AudioPlaybackStatus>;
seek(positionMs: number): Promise<AudioPlaybackStatus>;
stop(): Promise<void>;
startRecording(): Promise<AudioRecordingStatus>;
getRecordingStatus(): Promise<AudioRecordingStatus>;
pauseRecording(): Promise<AudioRecordingStatus>;
resumeRecording(): Promise<AudioRecordingStatus>;
stopRecording(): Promise<AudioRecordingResult>;
addInterruptionListener(onEvent: (event: AudioInterruptionEvent) => void): () => void;
setNowPlayingInfo(info: AudioNowPlayingInfo): Promise<void>;
clearNowPlayingInfo(): Promise<void>;
addRemoteCommandListener(onEvent: (event: AudioRemoteCommandEvent) => void): () => void;
createPlayer(sourceUri?: string, headers?: Record<string, string>): string;
playerPlay(playerId: string): void;
playerPause(playerId: string): void;
playerSeek(playerId: string, seconds: number, toleranceBeforeMs?: number, toleranceAfterMs?: number): Promise<void>;
playerReplace(playerId: string, sourceUri?: string, headers?: Record<string, string>): void;
removePlayer(playerId: string): void;
getPlayerStatus(playerId: string): AudioPlayerStatus;
setPlayerRate(playerId: string, rate: number, pitchQuality?: PitchCorrectionQuality): void;
setPlayerVolume(playerId: string, volume: number): void;
setPlayerMuted(playerId: string, muted: boolean): void;
setPlayerLoop(playerId: string, loop: boolean): void;
setPlayerPitchCorrection(playerId: string, enabled: boolean): void;
}
//# sourceMappingURL=OneAudio.nitro.d.ts.map