| 1 |
=== StreamCast – bring live radio to your site with a sleek player === |
| 2 |
Contributors: bplugins, taninrahman, shehabulislam, freemius |
| 3 |
Tags: live stream, icecast, shoutcast, radio player, audio player |
| 4 |
Tested up to: 7.0 |
| 5 |
Stable tag: 2.4.4 |
| 6 |
Requires PHP: 7.1 |
| 7 |
Requires at least: 6.2 |
| 8 |
Donate link: https://www.buymeacoffee.com/abuhayat |
| 9 |
License: GPLv2 or later |
| 10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html |
| 11 |
|
| 12 |
Embed a responsive live radio streaming player in WordPress – IceCast, Shoutcast, RadioCo, RadioJar & more via shortcode or Gutenberg block. |
| 13 |
|
| 14 |
== Description == |
| 15 |
|
| 16 |
**Put your live radio stream on any WordPress page in minutes – a beautiful, responsive player your listeners can enjoy on every device, no code required.** |
| 17 |
|
| 18 |
[**StreamCast**](https://bplugins.com/products/streamcast-radio-player/) | [**Documentation**](https://bplugins.com/docs/streamcast-radio-player/) | [**Pricing**](https://bplugins.com/products/streamcast-radio-player/pricing/) | [**Support**](https://bplugins.com/support/) | [**Demo**](https://bplugins.com/products/streamcast-radio-player/#demos) |
| 19 |
|
| 20 |
https://www.youtube.com/watch?v=ad_LKLe_YQg |
| 21 |
|
| 22 |
### Why StreamCast? |
| 23 |
|
| 24 |
**StreamCast** is a simple, accessible, and fully customizable online radio streaming player for WordPress. Play **IceCast**, **Shoutcast**, **RadioCo**, **RadioJar**, **Radionomy**, and many more stream types using shortcodes or Gutenberg blocks – without writing code. |
| 25 |
|
| 26 |
It is lightweight, fast, responsive, and works across all major browsers and devices. Whether you run an online radio station, a podcast live stream, a community FM, or an educational broadcast, StreamCast lets you embed your live stream beautifully inside WordPress. |
| 27 |
|
| 28 |
Drop in a shortcode with your stream URL, or use the visual Gutenberg block, then customize the skin and colors to match your brand. |
| 29 |
|
| 30 |
### Free Features |
| 31 |
|
| 32 |
- **Responsive Radio Player:** Works on desktop, tablet, and mobile. |
| 33 |
- **Supports Major Providers:** IceCast, Shoutcast, RadioJar, Radionomy, RadioCo & more. |
| 34 |
- **No-Code Setup:** Add with a simple shortcode or Gutenberg block. |
| 35 |
- **Customizable Skins:** Adjust background colors and styles. |
| 36 |
- **Cross-Browser Compatible:** Chrome, Firefox, Safari, Edge. |
| 37 |
- **Lightweight & Fast:** Minimal load, no performance issues. |
| 38 |
- **Single Station Player:** Designed for one stream per page. |
| 39 |
- **Background Color Support:** Personalize using shortcode attributes. |
| 40 |
|
| 41 |
### Pro Version |
| 42 |
|
| 43 |
The **StreamCast Premium** version includes advanced player controls, professional skins, and full customization options. |
| 44 |
|
| 45 |
**Pro features include:** |
| 46 |
|
| 47 |
- Advanced Player UI (85+ Radio Player) |
| 48 |
- Professional Skin Library |
| 49 |
- Automatic Station Name From Stream URL |
| 50 |
- Brand Color Picker & Custom Colors |
| 51 |
- Text Color & Typography |
| 52 |
- Ultimate Player Type |
| 53 |
- More Stream Compatibility |
| 54 |
- Custom CSS Styling |
| 55 |
- Priority Support & Future Updates |
| 56 |
|
| 57 |
[**Get Premium Version**](https://bplugins.com/products/streamcast-radio-player/pricing/) |
| 58 |
|
| 59 |
### How to Use – Quick Start |
| 60 |
|
| 61 |
1. Install and activate **StreamCast**. |
| 62 |
2. Add a simple player with this shortcode: `[stream url="YOUR_STREAM_URL"]` |
| 63 |
3. Add a background color: `[stream url="YOUR_STREAM_URL" background="#333333"]` (color names or hex values are supported). |
| 64 |
4. Prefer a visual setup? Add the **StreamCast** Gutenberg block and configure the player in the editor. |
| 65 |
|
| 66 |
**Important note – Chrome 80+ restriction:** If your website uses HTTPS but your stream is HTTP, Chrome will block playback. Both the website and stream must use the same protocol (preferably HTTPS). More info: https://blog.chromium.org/2019/10/no-more-mixed-messages-about-https.html |
| 67 |
|
| 68 |
### Use Cases |
| 69 |
|
| 70 |
- **Online Radio Stations:** Give listeners an always-on player on your website. |
| 71 |
- **Internet Broadcast Channels:** Stream your channel to any page. |
| 72 |
- **Podcast Live Streams:** Let audiences tune in live. |
| 73 |
- **Religious or Community Radio:** Reach your community online. |
| 74 |
- **Live Music Streams:** Share performances as they happen. |
| 75 |
- **FM/AM Radio Going Digital:** Bring your terrestrial station to the web. |
| 76 |
- **Educational Radio Broadcasts:** Stream lectures and campus radio. |
| 77 |
|
| 78 |
### User Feedback |
| 79 |
|
| 80 |
⭐⭐⭐⭐⭐ **“This is exactly what I was looking for – I have a station on Live365 and their ‘player’ is too large, I wanted a simple player without all the mumbo jumbo. So far so good.”** |
| 81 |
|
| 82 |
⭐⭐⭐⭐⭐ **“It’s best radio player, so many features. can put player anywhere by short code. |
| 83 |
I recommended”** |
| 84 |
|
| 85 |
Have suggestions? Let us know: https://bplugins.com/contact |
| 86 |
|
| 87 |
== Installation == |
| 88 |
|
| 89 |
**From your WordPress dashboard (recommended):** |
| 90 |
|
| 91 |
1. Go to **Plugins → Add New**. |
| 92 |
2. Search for **"StreamCast"** (developed by **bPlugins**). |
| 93 |
3. Click **Install Now**, then **Activate**. |
| 94 |
4. Add the `[stream url="YOUR_STREAM_URL"]` shortcode or the StreamCast block to any page. |
| 95 |
|
| 96 |
**Manual installation:** |
| 97 |
|
| 98 |
1. Download the StreamCast plugin (`streamcast.zip`). |
| 99 |
2. Go to **Plugins → Add New** and click **Upload Plugin**. |
| 100 |
3. Select the `streamcast.zip` file, click **Install Now**, then **Activate**. |
| 101 |
4. Alternatively, extract the zip and upload the `streamcast` folder to the `/wp-content/plugins/` directory via FTP, then activate it from **Plugins → Installed Plugins**. |
| 102 |
|
| 103 |
== Frequently Asked Questions == |
| 104 |
|
| 105 |
= How do I install this plugin? = |
| 106 |
You can install it like any other regular WordPress plugin – see the Installation tab for step-by-step instructions. |
| 107 |
|
| 108 |
= What type of stream URLs are supported by StreamCast? = |
| 109 |
StreamCast supports most major radio streaming formats including: |
| 110 |
|
| 111 |
* IceCast streams |
| 112 |
* Shoutcast streams |
| 113 |
* RadioCo |
| 114 |
* RadioJar |
| 115 |
* Radionomy |
| 116 |
* MP3 live stream URLs |
| 117 |
* AAC / AAC+ streams |
| 118 |
* OGG streams |
| 119 |
|
| 120 |
If your stream plays in a browser media player, StreamCast will work with it. |
| 121 |
|
| 122 |
= How do I add the player to a page? = |
| 123 |
Use the shortcode `[stream url="YOUR_STREAM_URL"]` anywhere shortcodes are supported, or add the StreamCast Gutenberg block for a visual setup. |
| 124 |
|
| 125 |
= The player is not playing my live stream. What should I do? = |
| 126 |
Check the protocols. If your website is **HTTPS** and your stream is **HTTP**, the browser will block it. Use matching protocols (HTTPS → HTTPS). |
| 127 |
|
| 128 |
= The second player is not showing like the first one. Why? = |
| 129 |
Multiple players on a single page are not supported – StreamCast is designed for one stream per page. |
| 130 |
|
| 131 |
= Can I customize the player's appearance? = |
| 132 |
Yes. The free version lets you adjust skins and background colors (via shortcode attributes such as `background="#333333"`). The Pro version adds a professional skin library, brand color picker, typography controls, and custom CSS. |
| 133 |
|
| 134 |
= Does StreamCast show live track or song information? = |
| 135 |
StreamCast Pro supports live metadata (Now Playing) for compatible streams. |
| 136 |
|
| 137 |
= Can I use StreamCast with Live365 or Radio.co stations? = |
| 138 |
Yes. StreamCast is fully compatible with Live365, Radio.co, and most modern radio hosting providers. Just paste the live stream URL into the shortcode or block. |
| 139 |
|
| 140 |
= Can I change the station name manually? = |
| 141 |
Yes. You can manually set a custom station name. StreamCast Pro can also fetch the station name automatically from the stream metadata. |
| 142 |
|
| 143 |
= Can I use StreamCast on multiple websites? = |
| 144 |
The free version can be used on unlimited websites. Pro licenses are based on the plan you purchase. |
| 145 |
|
| 146 |
= Does StreamCast affect website performance? = |
| 147 |
No. StreamCast is lightweight and loads only when the player is present on the page. |
| 148 |
|
| 149 |
= What should I do if my stream stops working suddenly? = |
| 150 |
First, test the stream URL in your browser directly. If it does not play there, the issue is with your radio provider – not the plugin. |
| 151 |
|
| 152 |
= Does StreamCast work on mobile devices? = |
| 153 |
Yes. StreamCast is fully responsive and works on Android, iOS, tablets, and desktop browsers. |
| 154 |
|
| 155 |
= Is StreamCast compatible with future WordPress updates? = |
| 156 |
Yes. StreamCast is actively maintained and tested with the latest WordPress versions. |
| 157 |
|
| 158 |
= Can I use StreamCast inside Elementor or other builders? = |
| 159 |
Yes. You can use the shortcode inside Elementor, WPBakery, Divi, Beaver Builder, and any page builder that supports shortcodes. |
| 160 |
|
| 161 |
= Where do I report security bugs found in this plugin? = |
| 162 |
Please report security bugs found in the source code of the StreamCast plugin through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/9e5fb205-6f66-453b-bdaa-c7c587b83810). The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin. |
| 163 |
|
| 164 |
== Screenshots == |
| 165 |
|
| 166 |
1. Admin Menu (ShortCodes) |
| 167 |
2. Gutenberg Block |
| 168 |
3. Wooden and AuroraPlay Radio Type |
| 169 |
4. 3 Different Customizable Radio Type |
| 170 |
5. EchoStream Radio Type |
| 171 |
6. Standard Radio Type(80+ Radio Skins) |
| 172 |
7. Gutenberg Block Support |
| 173 |
|
| 174 |
== Source Code == |
| 175 |
|
| 176 |
You can find the source code, report bugs, and contribute to the development of this plugin on our GitHub repository: |
| 177 |
[**StreamCast on GitHub**](https://github.com/bPlugins/streamcast-wp) |
| 178 |
|
| 179 |
== External Services == |
| 180 |
|
| 181 |
This plugin connects to the following external services to provide enhanced functionality: |
| 182 |
|
| 183 |
1. **Muses Radio Player API** (muses.org) |
| 184 |
- Used for: Fetching player skins and sending anonymous usage statistics |
| 185 |
- Data sent: Player configuration and anonymous listener data (legacy player reports) |
| 186 |
- Loaded on: Pages where the radio player block or shortcode is displayed |
| 187 |
- Terms: https://www.muses.org/terms-and-conditions | Privacy Policy: https://www.muses.org/privacy-policy |
| 188 |
|
| 189 |
2. **Plyr Video Player Assets** (Local) |
| 190 |
- Used for: Localized SVG icons and blank video assets for the Plyr player |
| 191 |
- Data sent: None (Assets are bundled locally) |
| 192 |
- Loaded on: Pages using the shortcode or block |
| 193 |
- Terms: https://plyr.io/ | Privacy Policy: https://plyr.io/ |
| 194 |
|
| 195 |
3. **YouTube Data API** (googleapis.com) |
| 196 |
- Used for: Fetching video/stream metadata (title) by video ID |
| 197 |
- Data sent: YouTube video ID and API key |
| 198 |
- Loaded on: Pages where a YouTube stream source is configured |
| 199 |
- Terms: https://policies.google.com/terms | Privacy: https://policies.google.com/privacy |
| 200 |
|
| 201 |
4. **Google IMA SDK** (imasdk.googleapis.com) |
| 202 |
- Used for: Loading video ad support (VAST/VMAP ads) |
| 203 |
- Data sent: Standard ad request data |
| 204 |
- Loaded on: Pages |
| 205 |
- Terms: https://policies.google.com/terms | Privacy: https://policies.google.com/privacy |
| 206 |
|
| 207 |
5. **Vimeo API** (vimeo.com) |
| 208 |
- Used for: Fetching Vimeo video metadata |
| 209 |
- Data sent: Vimeo video ID |
| 210 |
- Loaded on: Pages where a Vimeo stream source is configured |
| 211 |
- Terms: https://vimeo.com/terms | Privacy: https://vimeo.com/privacy |
| 212 |
|
| 213 |
6. **AniView Ad Server** (go.aniview.com) |
| 214 |
- Used for: Serving VAST video ads |
| 215 |
- Data sent: Standard VAST ad request parameters |
| 216 |
- Loaded on: Pages where AniView ads are enabled |
| 217 |
- Terms: https://www.aniview.com/terms-of-service/ | Privacy Policy: https://www.aniview.com/privacy-policy/ |
| 218 |
|
| 219 |
7. **bPlugins Templates** (templates.bplugins.com) |
| 220 |
- Used for: Loading default radio station artwork and player skins |
| 221 |
- Data sent: Asset request (no personal data) |
| 222 |
- Loaded on: Admin dashboard and player initialization |
| 223 |
- Terms: https://bplugins.com/terms-of-service/ | Privacy Policy: https://bplugins.com/privacy-policy/ |
| 224 |
|
| 225 |
== Third-Party Libraries == |
| 226 |
|
| 227 |
This plugin bundles the following third-party JavaScript/PHP libraries. |
| 228 |
|
| 229 |
= Codestar Framework = |
| 230 |
|
| 231 |
* **Source:** [http://codestarframework.com/](http://codestarframework.com/) |
| 232 |
* **GitHub:** [https://github.com/Codestar/codestar-framework](https://github.com/Codestar/codestar-framework) |
| 233 |
* **License:** GPLv2 or later – [https://github.com/Codestar/codestar-framework/blob/master/LICENSE.md](https://github.com/Codestar/codestar-framework/blob/master/LICENSE.md) |
| 234 |
* **Purpose:** Provides the options framework for the plugin's settings and shortcode generator. |
| 235 |
|
| 236 |
= Freemius SDK = |
| 237 |
|
| 238 |
* **Source:** [https://freemius.com/](https://freemius.com/) |
| 239 |
* **GitHub:** [https://github.com/Freemius/wordpress-sdk](https://github.com/Freemius/wordpress-sdk) |
| 240 |
* **License:** GPLv3 – [https://github.com/Freemius/wordpress-sdk/blob/master/LICENSE.txt](https://github.com/Freemius/wordpress-sdk/blob/master/LICENSE.txt) |
| 241 |
* **Purpose:** Provides opt-in usage tracking and analytics to help improve the plugin. |
| 242 |
|
| 243 |
= bpl-tools = |
| 244 |
* Source / GitHub: https://github.com/bPlugins/bpl-tools |
| 245 |
* License: GPL-2.0-or-later – https://www.gnu.org/licenses/gpl-2.0.html |
| 246 |
* Purpose: Shared utility library providing admin dashboard components and common Gutenberg editor controls. |
| 247 |
* External Services: The library may connect to bPlugins, WordPress.org, and Freemius services for product data and checkout functionality. See full details: https://github.com/bPlugins/bpl-tools#external-requests--why-they-are-made |
| 248 |
|
| 249 |
== Changelog == |
| 250 |
|
| 251 |
= 2.4.4 - 22 July 2026 = |
| 252 |
* Fix: Resolved early text domain loading notice (`_load_textdomain_just_in_time`) triggered before `init` action in WordPress 6.7+. |
| 253 |
|
| 254 |
= 2.4.3 - 5 July 2026 = |
| 255 |
* **Refactor:** Reorganized plugin architecture by keeping blocks under src/blocks/streamcast/ and admin dashboard under src/admin-dashboard/. |
| 256 |
* **Refactor:** Realigned all backend PHP file and folder structures, namespaces, classes, and constants to match the StreamCast free repository on GitHub while preserving all premium-only features. |
| 257 |
* **Update:** Upgraded admin dashboard welcome layout to use the unified bpl-tools Admin experience. |
| 258 |
|
| 259 |
= 2.4.2 - 26 May 2026 = |
| 260 |
* Update: Improved internal dependency loading structure using Composer autoloading. |
| 261 |
* Fix: Strengthened validation and access controls in the option settings framework. |
| 262 |
* Internationalization: Corrected translation text domain mapping for all checkbox fields. |
| 263 |
|
| 264 |
= 2.4.1 - 10 May 2026 = |
| 265 |
* Compliance: Renamed all global prefixes and namespaces from `STP` to `StreamCast` and `csf` to `streamcast_csf`. |
| 266 |
* Security: Implemented robust output escaping and input sanitization across the entire codebase and framework. |
| 267 |
* Security: Replaced all `json_encode` calls with `wp_json_encode` for safer data handling. |
| 268 |
* Security: Sanitized all nonces and JSON-decoded data to prevent XSS and other vulnerabilities. |
| 269 |
* Maintenance: Renamed generic JavaScript variables and structural cleanup to meet WordPress.org standards. |
| 270 |
|
| 271 |
= 2.4.0 - 6 May 2026 = |
| 272 |
* Compliance: Removed all trialware/feature-gating logic to ensure full functionality for all users. |
| 273 |
* Compliance: Localized third-party assets (WebFontLoader, FontAwesome, Plyr, Muses) to eliminate remote CDN dependencies. |
| 274 |
* Privacy: Removed unconditional Google Analytics tracking from the player script. |
| 275 |
* Compliance: Standardized internationalization (i18n) by migrating all text domains to 'streamcast'. |
| 276 |
* Security: Enhanced output escaping and data sanitization in shortcodes and Gutenberg blocks. |
| 277 |
* Enhancement: Added explicit "External Services" and "Source Code" documentation in readme.txt. |
| 278 |
* Fix: Updated shortcode attributes to correctly honor user-provided stream URLs and background colors. |
| 279 |
* Maintenance: Updated compatibility tags and improved code adherence to WordPress.org standards. |
| 280 |
|
| 281 |
= 2.3.9 - 23 February 2026 = |
| 282 |
* **Update:** Redesigned the dashboard with a modern and improved user interface, replacing the previous outdated layout. |
| 283 |
|
| 284 |
= 2.3.7 - 22 November 2025 = |
| 285 |
* Updated readme.txt and fixed issues |
| 286 |
|
| 287 |
= 2.3.6 - 2 November 2025 = |
| 288 |
* Updated Advanced Radio Player |
| 289 |
|
| 290 |
= 2.3.5 - 23 September 2025 = |
| 291 |
* Accessibility: Added screen reader support |
| 292 |
|
| 293 |
= 2.3.4 - 17 September 2025 = |
| 294 |
* Added Modern Dashboard |
| 295 |
|
| 296 |
= 2.3.1 - 17 May 2025 = |
| 297 |
* Added new radio skin |
| 298 |
|
| 299 |
= 2.3.0 - 19 Feb 2025 = |
| 300 |
* Added Gutenberg block and redesigned plugin |
| 301 |
|
| 302 |
= 2.2.4 - 30 July 2024 = |
| 303 |
* Fixed Cross Site Scripting issue |
| 304 |
|
| 305 |
= 2.2.3 - 4 July 2024 = |
| 306 |
* Updated WordPress SDK |
| 307 |
|
| 308 |
= 2.2.2 - 1 Jan 2024 = |
| 309 |
* Fixed unexpected number issue |
| 310 |
|
| 311 |
= 2.2.0 - 26 Aug 2023 = |
| 312 |
* Added new premium skin "B Circle" |
| 313 |
|
| 314 |
= 2.1.11 - 26 Aug 2023 = |
| 315 |
* Fixed uncaught error at line 335 |
| 316 |
|
| 317 |
= 2.1.9 - 1 May 2023 = |
| 318 |
* Updated Freemius SDK |
| 319 |
|
| 320 |
= 2.1.8 - 1 May 2023 = |
| 321 |
* Fixed ops issue |
| 322 |
|
| 323 |
= 2.1.6 - 1 May 2023 = |
| 324 |
* Added support for normal stream on ultimate player |
| 325 |
|
| 326 |
= 2.1.6 - 22 Oct 2022 = |
| 327 |
* Minor fixes |
| 328 |
|
| 329 |
= 2.1.4 = |
| 330 |
* Updated Freemius SDK |
| 331 |
|
| 332 |
= 2.0.0 = |
| 333 |
* Added player themes |
| 334 |
* Added Ultimate Radio Player type |
| 335 |
* Added custom color options |
| 336 |
* Added modern skins |
| 337 |
|
| 338 |
= 1.0 = |
| 339 |
* Initial Release |
| 340 |
|