AudioConfig
How the player handles sound: which track to pick, the pitch law, the downmix, the volume ceiling, the equaliser, ReplayGain and the resampler. A fresh player starts from these values, and the setters on KitePlayer change most of them while it plays.
Constructors
Properties
How multichannel audio is folded down when the device has fewer speakers.
The equaliser a fresh player starts at. Change it live with KitePlayer.setEqualizer.
Choose between two mixes of one language by the speakers that play them (#466). Off by default.
Preferred languages, best first, as ISO 639 codes or BCP 47 tags.
Play at a different rate without changing pitch. True stretches the sound in time; false plays it faster or slower like a tape, so pitch moves with the rate. The seed for KitePlayer.setPreservePitch, which can change it at runtime.
Whether to honour the loudness the encoder measured, and which measurement to use.
Applied when replayGain is on and the media carries no usable tag, in dB.
Added to whatever the tag asked for, in dB. The usual taste knob; 0 honours the tag exactly.
Replaces the engine's own rate conversion, a windowed sinc written in Kotlin. Null keeps that sinc. KiteFFmpegResampler in kiteplayer-ffmpeg runs FFmpeg's libswresample instead. A factory that throws leaves the sinc in place; see AudioResamplerFactory.
The loudest KitePlayer.setVolume accepts. 1 is unity and refuses any boost, which is the default because amplifying without being asked to is not a player's decision to make.