A small Android radio player built with Kotlin.
Made for live radio streaming without the usual bloated app nonsense.
void-radioplayer is a lightweight Android radio streaming app.
It plays live radio streams, supports custom stations, and can import .m3u playlists.
Basically: radio app, but without the usual mobile-app slop.
This is mostly a personal project / learning project, but it already runs on real Android devices.
APK builds are hosted on the voidcore CDN:
https://cdn.voidcore.dev/apps/void-radioplayer/
GitHub Releases exist, but builds are not uploaded there right now because I am too lazy to maintain both.
The CDN is currently the main place for downloadable APKs.
This app is not on the Play Store.
You may need to allow installing apps from unknown sources on your Android device.
- 📻 Live radio playback
- 🎧 Direct radio stream support
- 📄
.m3uplaylist import - ➕ Add custom radio stations
- 🗑️ Delete stations inside the app
- 🗂️ Station categories:
- English
- German
- Hungarian
- Custom
- 🔁 Basic reconnect handling
- 📶 Network / stream error indicator
- 🔔 Foreground playback notification
- 🎛️ Android Media3 / ExoPlayer based playback
- 🖤 Dark voidcore-style UI
The app currently ships with a few default stations.
- BBC Radio 1
- BBC Radio 6 Music
- KEXP 90.3
- Ö3
- Energy Wien
- Kronehit
- Retro Radio
- Sláger FM
- Rádió 1
You can add your own stations inside the app.
Screenshots coming soon.
- Kotlin
- Android SDK
- Gradle
- AndroidX
- Media3 / ExoPlayer
- Android 8.0 or newer
The app uses:
minSdk 26
targetSdk 36
- IntelliJ IDEA or Android Studio
- Android SDK
- JDK 11+
- Gradle wrapper included in the repo
Clone the repository:
git clone https://github.com/Kyoo123/void-radioplayer.git
cd void-radioplayerBuild the debug APK:
./gradlew assembleDebugOn Windows:
.\gradlew.bat assembleDebugThe debug APK will be created under:
app/build/outputs/apk/debug/
The project uses a Gradle build config value for the primary fallback stream URL:
BuildConfig.PRIMARY_STREAM_URLIt is configured through gradle.properties:
RETROPLAYER_PRIMARY_STREAM_URL=https://example.com/stream.mp3Replace the URL with whatever default stream you want.
Stations use this structure:
Station(
name = "Station Name",
url = "https://example.com/stream.mp3",
category = "custom"
)Supported categories:
english
german
hungarian
custom
The app can also import .m3u playlists and extract station names / stream URLs automatically where possible.
You can paste a .m3u playlist URL into the station manager.
The app will try to:
- Download the playlist
- Read the station names
- Extract stream URLs
- Add them to the selected category
Useful for internet radio playlists and station bundles.
honestly? because im lazy
Instead, builds are hosted on the voidcore CDN:
Clean repo, easy downloads, less suffering.
Things that might be added later:
- ⭐ Favorite stations
- 🔍 Station search
- 💾 Remember last selected station
- 🎚️ Volume controls
- 🧪 Better stream validation
- 📲 Better notification controls
- 🎨 More UI polish
- 📸 Screenshots in README
- 🏷️ Versioned releases
- 🤖 Maybe GitHub Actions builds, if motivation appears
This is mainly a personal project, but feel free to:
- fork it
- open issues
- suggest improvements
- break it and fix it again
Good ideas are welcome.
Bad ideas are also welcome, but they may be laughed at first.
This app only plays publicly available radio stream URLs.
Radio station names, streams, and logos belong to their respective owners.
This project is not affiliated with any of the listed radio stations.
This project is licensed under the MIT License.
See LICENSE for details.
Built by Kyo / voidcore
- GitHub:
Kyoo123 - CDN builds:
cdn.voidcore.dev
made with questionable decisions, no caffeine and working code™(somehow)