Media3 / RuntimeShader
01Cover colors, turned into a fluid background
The Now Playing background is drawn by BgEffectPainter, which loads a GLSL / AGSL shader and renders it frame by frame through RuntimeShader. Palette first pulls five color roles from the cover — Base, Accent, Light, Dark and Bridge — then blends them into flowing patches and grain, wired to uMusicLevel / uBeat so it moves with the beat. It is not just a Gaussian-blurred cover.
This background is the app's own shader, ported to WebGL ↗
WaveformSlider
02Progress and controls, right where your thumb is
While playing, the progress bar becomes a slowly flowing wave; on pause it settles into a straight line, and while buffering it turns into a beating pulse. Underneath, quality, codec and format show as configured — like RAW · 48 kHz for this FLAC — and dragging gives haptic ticks along the lyric timeline.
Now Playing controls position
Holding the phone in one hand? Move shuffle, previous, play, next and repeat down within thumb reach, and bring the progress bar along if you like. While the controls sit at the bottom, the Dock becomes a regular toolbar so the two never overlap.
- 01About 30 dp wavelength and 2.3 dp amplitude, one cycle every two seconds
- 02Tap the quality tag to switch; speeds other than 1.00× get their own label
- 03Controls on Now Playing and the lyrics page each come in small, medium and large
SyncedLyricsView
03Word-by-word lyrics on the cover page, too
Under the controls sits a strip of synced lyrics: the current line lights up word by word, its translation follows only that line, and the rest fade quietly to the side. Tap a line to jump there, long-press to share. If it feels crowded, the cover-page lyrics and the bottom toolbar can each be turned off.
- 0118 sp on the cover page, 14 sp for translations, sized separately from the lyrics page
- 02Swipe left for the full lyrics page
PlaybackEffectsController
04Audio effects & speed
Tap “More” in the top-right corner, then “Audio Effects & Speed”: speed and pitch are set independently, loudness enhancement steps in dB, and the equalizer binds to the current playback session with 23 built-in system presets — or drag the manual bands from 60 Hz to 14 kHz one by one. Playback settings add per-track real-time loudness normalization, channel balance, 32-bit hi-res output, fades and crossfades.
Press play first, then try a preset or a speed — you'll actually hear it change ↗
| No.NP-01 | Version— | PlatformAndroid | Page01 / 12 |
| StatusAndroid 9+ · fluid background & advanced blur need Android 13+ | |||
| Sourcecwuom/NeriPlayer · 3.7k · 131 | Date— | ||
| Demo track“星轨” · Neri Line · NeriPlayer PV | NP | ||
Local FilesRAW·48 kHz
Audio Effects & Speed
Speed and pitch are independent, and the equalizer follows the current playback session.
Speed, pitch, and equalizer presets
Manual Bands






Local Files
NeriPlayer PV

Radar时光
Radar宝藏
Radar新歌
Radar乐迷
Radar神秘


