HotFM Radio Widget — Live Stream & Now Playing Embed
What it is
- A small embeddable web widget that streams HotFM live audio and displays the current track or program.
Key features
- Live streaming: Plays HotFM’s live broadcast via an embedded player (HTML5 audio or iframe).
- Now Playing: Shows current song, artist, or show title fetched from station metadata or an API.
- Play/Pause controls: Basic playback controls and volume handling.
- Responsive design: Scales to fit desktop and mobile layouts.
- Customizable appearance: Options for colors, size, rounded corners, and compact vs. full views.
- Auto-reconnect: Handles stream interruptions and attempts to reconnect gracefully.
- Accessibility: Keyboard controls and ARIA labels for screen readers.
How it works (technical overview)
- Player: Uses the station’s stream URL with an HTML5element or embedded iframe player.
- Metadata: Polls a metadata endpoint (e.g., Icecast/Shoutcast status JSON or station API) every 10–30 seconds to update “Now Playing”.
- UI: Renders play/pause button, track info, cover art (if available), and a small progress/connection indicator.
- Fallbacks: If metadata isn’t available, shows a static station name and a “Live” badge.
Integration options
- Copy-paste embed: Single HTML snippet including CSS and JavaScript for non-technical users.
- NPM package / JS module: For developers to import and configure via options (stream URL, polling interval, theme).
- WordPress plugin / shortcode: Easy insertion into posts and sidebars.
- Iframe widget: Sandboxable option without exposing site scripts.
Implementation notes & best practices
- Use CORS-enabled stream endpoints or serve the stream through a proxy if necessary.
- Respect autoplay restrictions: start paused and require user interaction on mobile/browsers that block autoplay.
- Cache metadata briefly to reduce polling load and avoid rate limits.
- Provide graceful degradation: if audio or metadata fails, show an error state and retry logic.
- Optimize for low CPU and memory on mobile by suspending polling when the tab is backgrounded.
Security & licensing
- Ensure you have permission to rebroadcast or embed the HotFM stream.
- Avoid embedding third-party scripts that could expose user data.
Example use cases
- Radio station homepage live player.
- Blogger embedding the station in a “Now Playing” sidebar.
- Community site streaming local HotFM content during events.
If you want, I can generate an embeddable HTML/CSS/JS snippet for this widget configured for a hypothetical HotFM stream URL.
Leave a Reply