Android Engine API
Lifecycle
initialize(sampleRate: Int = 44100, maxTracks: Int = 8): Boolean
release()
destroy()
Track Management
loadTrack(trackId: String, filePath: String, startTimeMs: Double = 0.0): Boolean
unloadTrack(trackId: String): Boolean
unloadAllTracks()
Playback
play()
pause()
stop()
seek(positionMs: Double)
isPlaying(): Boolean
getCurrentPosition(): Double
getDuration(): Double
Per-Track Controls
setTrackVolume(trackId: String, volume: Float)
setTrackMuted(trackId: String, muted: Boolean)
setTrackSolo(trackId: String, solo: Boolean)
setTrackPan(trackId: String, pan: Float)
setTrackPitch(trackId: String, semitones: Float)
getTrackPitch(trackId: String): Float
setTrackSpeed(trackId: String, rate: Float)
getTrackSpeed(trackId: String): Float
Master Controls
setMasterVolume(volume: Float)
getMasterVolume(): Float
setPitch(semitones: Float)
getPitch(): Float
setSpeed(rate: Float)
getSpeed(): Float
Recording
startRecording(outputPath: String, sampleRate: Int = 44100, channels: Int = 1, format: String = "aac", bitrate: Int = 128000, bitsPerSample: Int = 16): Boolean
stopRecording(): RecordingResult
isRecording(): Boolean
setRecordingVolume(volume: Float)
extractTrack(trackId: String, outputPath: String, format: String = "wav", bitrate: Int = 128000, bitsPerSample: Int = 16, includeEffects: Boolean = true): ExtractionResult
startExtractTrack(trackId: String, outputPath: String, format: String = "wav", bitrate: Int = 128000, bitsPerSample: Int = 16, includeEffects: Boolean = true): Long
extractAllTracks(outputPath: String, format: String = "wav", bitrate: Int = 128000, bitsPerSample: Int = 16, includeEffects: Boolean = true): ExtractionResult
startExtractAllTracks(outputPath: String, format: String = "wav", bitrate: Int = 128000, bitsPerSample: Int = 16, includeEffects: Boolean = true): Long
cancelExtraction(jobId: Long): Boolean
Meters