SonicSyncSail Logo

SonicSyncSail

Home Features About Blog FAQ

Radio Streaming

📑 Table of Contents
  • 1. Overview
  • 2. Library Organization
  • 3. Adding Custom Radio Stations
  • 4. Radio Stream Recording Flow
  • 5. Edge Cases & Safeguards
  • 6. Known Limitations
  • 7. Future Enhancements

1. Overview

SonicSyncSail’s Radio Streaming module provides users with a powerful and organized way to explore, stream, and record online radio stations. The system includes a structured radio library, the ability to add custom radio stations securely, full-text search, logo caching, and an advanced recording interface with waveform visualization.

2. Library Organization

The Radio Streaming library is preloaded from bundled assets on the first app launch. This initial load saves all built-in radio stations into the Room database, enabling instant access and offline-ready metadata. Once populated, stations are organized into multiple browsing categories for intuitive exploration.

2.1 Categories Supported

  • Genre List – Stations grouped by music genre.
  • Country List – Stations grouped by broadcasting country.
  • Language List – Stations grouped by primary language.
  • All Stations – Inclusive list of all stored stations.

2.2 Search Functionality

Users can search across station names, genres, countries, and languages with real-time filtering for fast discovery.

2.3 Logo Caching

Logos for radio stations are cached locally, improving loading performance, scrolling fluidity, and reducing repeated network requests.

3. Adding Custom Radio Stations

SonicSyncSail includes a dedicated workflow that enables users to add their own radio stations securely. Each addition is validated before saving, ensuring high playback reliability.

3.1 Fields Users Can Enter

  • Station Name
  • Station Stream URL (HTTPS only)
  • Station Icon URL (HTTPS only)

3.2 Stream & Icon URL Validation

The Add button remains disabled until both the stream URL and icon URL successfully pass validation. A lightweight test connection ensures the URLs are accessible and safe.

3.3 Duplicate Detection

If a station already exists in the preloaded Room database, the Add button is replaced with “Add to Favorites”, preventing duplicates while keeping the workflow user-friendly.

3.4 Editing & Deleting

Currently, SonicSyncSail does not provide UI for editing or deleting custom stations. These enhancements are planned for future updates.

4. Radio Stream Recording Flow

SonicSyncSail allows users to record live radio streams through a dedicated recording pipeline. Recording is simultaneous with playback and includes its own waveform interface, foreground notification, and secure permission workflow.

4.1 Accessing Recording Mode

  1. Navigate to the Now Playing screen.
  2. Switch the app to Radio Mode.
  3. Tap the mic icon appearing at the bottom-right corner.

4.2 Permission Flow

The first-time recording flow prompts:

  • Android audio recording permission.
  • System-level media projection dialog (required every recording session).

4.3 Recording Interface

Once active, the UI displays:

  • Waveform visualization
  • Elapsed timer
  • Pause / Resume button
  • Stop button
  • Persistent foreground notification

4.4 Recording Behavior

The recording engine operates on a dedicated pipeline, allowing simultaneous playback and recording. After stopping, the recording automatically saves to:

Music/SonicSyncSail/Recordings/

Files are timestamped for easy identification.

4.5 Stability & Reliability

Recording continues smoothly even if playback is interrupted . The foreground notification ensures the session persists while the app is backgrounded.

5. Edge Cases & Safeguards

  • No custom stations allowed without valid HTTPS URLs.
  • Search may return empty lists based on filters.
  • Recording requires both microphone permission and projection approval.
  • If no built-in stations exist, the library rebuilds from bundled assets.

6. Known Limitations

  • No UI for editing or removing custom stations.
  • No auto-fetching or validation for non-HTTPS URLs.
  • No bookmarking of recording sessions or local tagging.
  • No waveform generation for locally added stations unless streaming supports it.
  • If playback is intrupted while recording due to network issues users need to manually pause the recording

7. Future Enhancements

  • Custom station editing and deletion tools.
  • Segmented radio recordings and bookmarking.
Documentation: Radio Streaming
Back to Docs Home
© SonicSyncSail 2025 · v1.0
GitHub🐙 GitHub GitHub🔗 LinkedIn 📧 contact@sonicsyncsail.com Privacy Policy Terms & Conditions