Expo Module API
The API is defined in packages/expo-module/src/AudioEngineModule.types.ts.
Core
initialize(config: AudioEngineConfig): Promise<void>release(): Promise<void>loadTracks(tracks: AudioTrack[]): Promise<void>unloadTrack(trackId: string): Promise<void>unloadAllTracks(): Promise<void>getLoadedTracks(): AudioTrack[]
Playback
play(): voidpause(): voidstop(): voidseek(positionMs: number): voidisPlaying(): booleangetCurrentPosition(): numbergetDuration(): number
Track Controls
setTrackVolume(trackId: string, volume: number): voidsetTrackMuted(trackId: string, muted: boolean): voidsetTrackSolo(trackId: string, solo: boolean): voidsetTrackPan(trackId: string, pan: number): voidsetTrackPitch(trackId: string, semitones: number): voidgetTrackPitch(trackId: string): numbersetTrackSpeed(trackId: string, rate: number): voidgetTrackSpeed(trackId: string): number
Master Controls
setMasterVolume(volume: number): voidgetMasterVolume(): numbersetPitch(semitones: number): voidgetPitch(): numbersetSpeed(rate: number): voidgetSpeed(): numbersetTempoAndPitch(tempo: number, pitch: number): void
Recording
startRecording(config?: RecordingConfig): Promise<void>stopRecording(): Promise<RecordingResult>isRecording(): booleansetRecordingVolume(volume: number): void
Extraction
extractTrack(trackId: string, config?: ExtractionConfig): Promise<ExtractionResult>extractAllTracks(config?: ExtractionConfig): Promise<ExtractionResult[]>cancelExtraction(jobId?: number): boolean
Meters
getInputLevel(): numbergetOutputLevel(): numbergetTrackLevel(trackId: string): number
Background Playback (Planned)
enableBackgroundPlayback(metadata: MediaMetadata): Promise<void>updateNowPlayingInfo(metadata: Partial<MediaMetadata>): voiddisableBackgroundPlayback(): Promise<void>