| 1 |
=== StreamCast – bring live radio to your site with a sleek player === |
| 2 |
Contributors: bplugins, shamim10, freemius |
| 3 |
Tags: live stream, icecast, shoutcast, radio player, audio player |
| 4 |
Tested up to: 7.1 |
| 5 |
Stable tag: 2.4.5 |
| 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 |
StreamCast is a simple, accessible, and fully customizable online radio streaming player for WordPress. |
| 21 |
|
| 22 |
Play **IceCast**, **Shoutcast**, **RadioCo**, **RadioJar**, **Radionomy**, and many more stream types using shortcodes or Gutenberg blocks — without writing code. |
| 23 |
|
| 24 |
It’s lightweight, fast, responsive, and works across all major browsers and devices. |
| 25 |
|
| 26 |
Whether you run an online radio station, podcast live stream, community FM, or educational broadcast—StreamCast lets you embed your live stream beautifully inside WordPress. |
| 27 |
|
| 28 |
|
| 29 |
= How To Use It? Learn Quick = |
| 30 |
|
| 31 |
https://www.youtube.com/watch?v=ad_LKLe_YQg |
| 32 |
|
| 33 |
--- |
| 34 |
|
| 35 |
### Key Features (Free) |
| 36 |
|
| 37 |
* **Responsive Radio Player** – Works on desktop, tablet, and mobile. |
| 38 |
* **Supports Major Providers** – IceCast, Shoutcast, Radiojar, Radionomy, RadioCo & more. |
| 39 |
* **No-Code Setup** – Add with a simple shortcode or Gutenberg block. |
| 40 |
* **Customizable Skins** – Adjust background colors and styles. |
| 41 |
* **Cross-Browser Compatible** – Chrome, Firefox, Safari, Edge. |
| 42 |
* **Lightweight & Fast** – Minimal load, no performance issues. |
| 43 |
* **Single Station Player** – Designed for one stream per page. |
| 44 |
* **Background Color Support** – Personalize using shortcode attributes. |
| 45 |
|
| 46 |
--- |
| 47 |
|
| 48 |
### 🎧 StreamCast Pro – Premium Version Features |
| 49 |
|
| 50 |
The **StreamCast Premium** version includes advanced player controls, professional skins, and full customization options. |
| 51 |
|
| 52 |
**Pro Features Include:** |
| 53 |
|
| 54 |
* Advanced Player UI (85+ Radio Player) |
| 55 |
* Professional Skin Library |
| 56 |
* Automatic Station Name From Stream URL |
| 57 |
* Brand Color Picker & Custom Colors |
| 58 |
* Text Color & Typography |
| 59 |
* Ultimate Player Type |
| 60 |
* More Stream Compatibility |
| 61 |
* Custom CSS Styling |
| 62 |
* Priority Support & Future Updates |
| 63 |
|
| 64 |
👉 [**Get Premium Version**](https://bplugins.com/products/streamcast-radio-player/pricing/) |
| 65 |
|
| 66 |
--- |
| 67 |
|
| 68 |
== How to Use == |
| 69 |
|
| 70 |
### Add a Simple Player |
| 71 |
Use this shortcode: [stream url="YOUR_STREAM_URL"] |
| 72 |
|
| 73 |
### Add a Background Color |
| 74 |
[stream url="YOUR_STREAM_URL" background="#333333"] |
| 75 |
|
| 76 |
Supports color names or hex values. |
| 77 |
|
| 78 |
|
| 79 |
Or use the **Gutenberg StreamCast Block** for a visual setup. |
| 80 |
|
| 81 |
--- |
| 82 |
|
| 83 |
== Important Notes == |
| 84 |
|
| 85 |
### ⚠️ Chrome 80+ Restriction |
| 86 |
If your website uses HTTPS but your stream is HTTP, Chrome will block playback. |
| 87 |
|
| 88 |
✔ Both website and stream must use the same protocol (preferably HTTPS). |
| 89 |
|
| 90 |
More info: https://blog.chromium.org/2019/10/no-more-mixed-messages-about-https.html |
| 91 |
|
| 92 |
--- |
| 93 |
|
| 94 |
== Use Cases == |
| 95 |
|
| 96 |
* Online radio stations |
| 97 |
* Internet broadcast channels |
| 98 |
* Podcast live streams |
| 99 |
* Religious or community radio |
| 100 |
* Live music streams |
| 101 |
* FM/AM radio going digital |
| 102 |
* Educational radio broadcasts |
| 103 |
|
| 104 |
--- |
| 105 |
|
| 106 |
|
| 107 |
== User Feedback == |
| 108 |
|
| 109 |
⭐⭐⭐⭐⭐ **“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.”** |
| 110 |
|
| 111 |
⭐⭐⭐⭐⭐ **“It’s best radio player, so many features. can put player anywhere by short code. |
| 112 |
I recommended”** |
| 113 |
|
| 114 |
Have suggestions? Let us know: https://bplugins.com/contact |
| 115 |
|
| 116 |
--- |
| 117 |
|
| 118 |
== Installation == |
| 119 |
|
| 120 |
You can install the Streamcast plugin in three ways. |
| 121 |
|
| 122 |
= From the WordPress Dashboard = |
| 123 |
1. Log in to your WordPress admin dashboard. |
| 124 |
2. Go to Plugins > Add New. |
| 125 |
3. Search for "Streamcast" (developed by **bPlugins**). |
| 126 |
4. Click Install Now. |
| 127 |
5. After installation, click Activate. |
| 128 |
|
| 129 |
= Download & Upload = |
| 130 |
1. Download the Streamcast plugin (streamcast.zip). |
| 131 |
2. Log in to your WordPress admin dashboard. |
| 132 |
3. Go to Plugins > Add New. |
| 133 |
4. Click Upload Plugin. |
| 134 |
5. Select the streamcast.zip file and click Install Now. |
| 135 |
6. Activate the plugin after installation. |
| 136 |
|
| 137 |
= Manual Installation = |
| 138 |
1. Download the Streamcast plugin. |
| 139 |
2. Extract the zip file. |
| 140 |
3. Upload the streamcast folder to the /wp-content/plugins/ directory using FTP or File Manager. |
| 141 |
4. Log in to your WordPress admin dashboard. |
| 142 |
5. Go to Plugins > Installed Plugins. |
| 143 |
6. Activate Streamcast from the plugins list. |
| 144 |
|
| 145 |
|
| 146 |
|
| 147 |
== Frequently Asked Questions == |
| 148 |
|
| 149 |
= How do I install this plugin? = |
| 150 |
You can install it as other regular WordPress plugins. No different way. Please see on installation tab. |
| 151 |
|
| 152 |
= What type of stream URLs are supported by StreamCast? = |
| 153 |
StreamCast supports most major radio streaming formats including: |
| 154 |
|
| 155 |
* IceCast streams |
| 156 |
* Shoutcast streams |
| 157 |
* RadioCo |
| 158 |
* RadioJar |
| 159 |
* Radionomy |
| 160 |
* MP3 live stream URLs |
| 161 |
* AAC / AAC+ streams |
| 162 |
* OGG streams |
| 163 |
|
| 164 |
If your stream plays in a browser media player, StreamCast will work with it. |
| 165 |
|
| 166 |
|
| 167 |
= The player is not playing my live stream. What should I do? = |
| 168 |
Check the protocols. |
| 169 |
If your website is **HTTPS** and your stream is **HTTP**, the browser will block it. |
| 170 |
Use matching protocols (HTTPS → HTTPS). |
| 171 |
|
| 172 |
= The second player is not showing like the first one. Why? = |
| 173 |
Multiple players on a single page are not supported. |
| 174 |
|
| 175 |
= Does StreamCast show live track or song information? = |
| 176 |
|
| 177 |
StreamCast Pro supports live metadata (Now Playing) for compatible streams. |
| 178 |
|
| 179 |
= Can I use StreamCast with Live365 or Radio.co stations? = |
| 180 |
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. |
| 181 |
|
| 182 |
= Can I change the station name manually? = |
| 183 |
|
| 184 |
Yes. You can manually set a custom station name. |
| 185 |
|
| 186 |
StreamCast Pro can also fetch the station name automatically from the stream metadata. |
| 187 |
|
| 188 |
= Can I use StreamCast on multiple websites? = |
| 189 |
|
| 190 |
The free version can be used on unlimited websites. |
| 191 |
|
| 192 |
Pro licenses are based on the plan you purchase. |
| 193 |
|
| 194 |
= Does StreamCast affect website performance? = |
| 195 |
|
| 196 |
No. StreamCast is lightweight and loads only when the player is present on the page. |
| 197 |
|
| 198 |
= What should I do if my stream stops working suddenly? = |
| 199 |
|
| 200 |
First, test the stream URL in your browser directly. |
| 201 |
|
| 202 |
If it does not play there, the issue is with your radio provider — not the plugin. |
| 203 |
|
| 204 |
|
| 205 |
= Does StreamCast work on mobile devices? = |
| 206 |
|
| 207 |
Yes. StreamCast is fully responsive and works on: |
| 208 |
|
| 209 |
* Android |
| 210 |
* iOS |
| 211 |
* Tablets |
| 212 |
* Desktop browsers |
| 213 |
|
| 214 |
= Is StreamCast compatible with future WordPress updates? = |
| 215 |
|
| 216 |
Yes. StreamCast is actively maintained and tested with the latest WordPress versions. |
| 217 |
|
| 218 |
= Can I use StreamCast inside Elementor or other builders? = |
| 219 |
|
| 220 |
Yes. You can use the shortcode inside: |
| 221 |
|
| 222 |
* Elementor |
| 223 |
* WPBakery |
| 224 |
* Divi |
| 225 |
* Beaver Builder |
| 226 |
|
| 227 |
It works with all page builders that support shortcodes. |
| 228 |
|
| 229 |
|
| 230 |
|
| 231 |
= Where do I report security bugs found in this plugin? = |
| 232 |
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. |
| 233 |
|
| 234 |
== Source Code == |
| 235 |
|
| 236 |
You can find the source code, report bugs, and contribute to the development of this plugin on our GitHub repository: |
| 237 |
[**StreamCast on GitHub**](https://github.com/bPlugins/streamcast-wp) |
| 238 |
|
| 239 |
== External Services == |
| 240 |
|
| 241 |
This plugin connects to the following external services to provide enhanced functionality: |
| 242 |
|
| 243 |
1. **Muses Radio Player API** (muses.org) |
| 244 |
- Used for: Fetching player skins and sending anonymous usage statistics |
| 245 |
- Data sent: Player configuration and anonymous listener data (legacy player reports) |
| 246 |
- Loaded on: Pages where the radio player block or shortcode is displayed |
| 247 |
- Terms: https://www.muses.org/terms-and-conditions | Privacy Policy: https://www.muses.org/privacy-policy |
| 248 |
|
| 249 |
2. **Plyr Video Player Assets** (Local) |
| 250 |
- Used for: Localized SVG icons and blank video assets for the Plyr player |
| 251 |
- Data sent: None (Assets are bundled locally) |
| 252 |
- Loaded on: Pages using the shortcode or block |
| 253 |
- Terms: https://plyr.io/ | Privacy Policy: https://plyr.io/ |
| 254 |
|
| 255 |
3. **YouTube Data API** (googleapis.com) |
| 256 |
- Used for: Fetching video/stream metadata (title) by video ID |
| 257 |
- Data sent: YouTube video ID and API key |
| 258 |
- Loaded on: Pages where a YouTube stream source is configured |
| 259 |
- Terms: https://policies.google.com/terms | Privacy: https://policies.google.com/privacy |
| 260 |
|
| 261 |
4. **Google IMA SDK** (imasdk.googleapis.com) |
| 262 |
- Used for: Loading video ad support (VAST/VMAP ads) |
| 263 |
- Data sent: Standard ad request data |
| 264 |
- Loaded on: Pages |
| 265 |
- Terms: https://policies.google.com/terms | Privacy: https://policies.google.com/privacy |
| 266 |
|
| 267 |
5. **Vimeo API** (vimeo.com) |
| 268 |
- Used for: Fetching Vimeo video metadata |
| 269 |
- Data sent: Vimeo video ID |
| 270 |
- Loaded on: Pages where a Vimeo stream source is configured |
| 271 |
- Terms: https://vimeo.com/terms | Privacy: https://vimeo.com/privacy |
| 272 |
|
| 273 |
6. **AniView Ad Server** (go.aniview.com) |
| 274 |
- Used for: Serving VAST video ads |
| 275 |
- Data sent: Standard VAST ad request parameters |
| 276 |
- Loaded on: Pages where AniView ads are enabled |
| 277 |
- Terms: https://www.aniview.com/terms-of-service/ | Privacy Policy: https://www.aniview.com/privacy-policy/ |
| 278 |
|
| 279 |
7. **bPlugins Templates** (templates.bplugins.com) |
| 280 |
- Used for: Loading default radio station artwork and player skins |
| 281 |
- Data sent: Asset request (no personal data) |
| 282 |
- Loaded on: Admin dashboard and player initialization |
| 283 |
- Terms: https://bplugins.com/terms-of-service/ | Privacy Policy: https://bplugins.com/privacy-policy/ |
| 284 |
|
| 285 |
--- |
| 286 |
|
| 287 |
== Third-Party Libraries == |
| 288 |
|
| 289 |
This plugin bundles the following third-party JavaScript/PHP libraries. |
| 290 |
|
| 291 |
= Codestar Framework = |
| 292 |
|
| 293 |
* **Source:** [http://codestarframework.com/](http://codestarframework.com/) |
| 294 |
* **GitHub:** [https://github.com/Codestar/codestar-framework](https://github.com/Codestar/codestar-framework) |
| 295 |
* **License:** GPLv2 or later – [https://github.com/Codestar/codestar-framework/blob/master/LICENSE.md](https://github.com/Codestar/codestar-framework/blob/master/LICENSE.md) |
| 296 |
* **Purpose:** Provides the options framework for the plugin's settings and shortcode generator. |
| 297 |
|
| 298 |
= Freemius SDK = |
| 299 |
|
| 300 |
* **Source:** [https://freemius.com/](https://freemius.com/) |
| 301 |
* **GitHub:** [https://github.com/Freemius/wordpress-sdk](https://github.com/Freemius/wordpress-sdk) |
| 302 |
* **License:** GPLv3 – [https://github.com/Freemius/wordpress-sdk/blob/master/LICENSE.txt](https://github.com/Freemius/wordpress-sdk/blob/master/LICENSE.txt) |
| 303 |
* **Purpose:** Provides opt-in usage tracking and analytics to help improve the plugin. |
| 304 |
|
| 305 |
= bpl-tools = |
| 306 |
* Source / GitHub: https://github.com/bPlugins/bpl-tools |
| 307 |
* License: GPL-2.0-or-later – https://www.gnu.org/licenses/gpl-2.0.html |
| 308 |
* Purpose: Shared utility library providing admin dashboard components and common Gutenberg editor controls. |
| 309 |
* 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 |
| 310 |
|
| 311 |
== Screenshots == |
| 312 |
|
| 313 |
1. Admin Menu (ShortCodes) |
| 314 |
2. Gutenberg Block |
| 315 |
3. Wooden and AuroraPlay Radio Type |
| 316 |
4. 3 Different Customizable Radio Type |
| 317 |
5. EchoStream Radio Type |
| 318 |
6. Standard Radio Type(80+ Radio Skins) |
| 319 |
7. Gutenberg Block Support |
| 320 |
|
| 321 |
--- |
| 322 |
|
| 323 |
== Changelog == |
| 324 |
|
| 325 |
= 2.4.5 - 25 August 2026 = |
| 326 |
* **New:** Added a "Where It Plays" panel to the classic editor side column, showing the native block and every page builder the shortcode works in, with one-click shortcode copy. |
| 327 |
* **New:** Added a Pro panel to the side column listing the settings the free build keeps locked, so it is clear what an upgrade unlocks without hunting through the form. |
| 328 |
* **Update:** Made the radio player edit screen easier to work with — the shortcode and placement options are now beside Save instead of buried in the configuration form. |
| 329 |
|
| 330 |
= 2.4.4 - 22 July 2026 = |
| 331 |
* Fix: Resolved early text domain loading notice (`_load_textdomain_just_in_time`) triggered before `init` action in WordPress 6.7+. |
| 332 |
|
| 333 |
= 2.4.3 - 5 July 2026 = |
| 334 |
* **Refactor:** Reorganized plugin architecture by keeping blocks under src/blocks/streamcast/ and admin dashboard under src/admin-dashboard/. |
| 335 |
* **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. |
| 336 |
* **Update:** Upgraded admin dashboard welcome layout to use the unified bpl-tools Admin experience. |
| 337 |
|
| 338 |
= 2.4.2 - 26 May 2026 = |
| 339 |
* Update: Improved internal dependency loading structure using Composer autoloading. |
| 340 |
* Fix: Strengthened validation and access controls in the option settings framework. |
| 341 |
* Internationalization: Corrected translation text domain mapping for all checkbox fields. |
| 342 |
|
| 343 |
= 2.4.1 - 10 May 2026 = |
| 344 |
* Compliance: Renamed all global prefixes and namespaces from `STP` to `StreamCast` and `csf` to `streamcast_csf`. |
| 345 |
* Security: Implemented robust output escaping and input sanitization across the entire codebase and framework. |
| 346 |
* Security: Replaced all `json_encode` calls with `wp_json_encode` for safer data handling. |
| 347 |
* Security: Sanitized all nonces and JSON-decoded data to prevent XSS and other vulnerabilities. |
| 348 |
* Maintenance: Renamed generic JavaScript variables and structural cleanup to meet WordPress.org standards. |
| 349 |
|
| 350 |
= 2.4.0 - 6 May 2026 = |
| 351 |
* Compliance: Removed all trialware/feature-gating logic to ensure full functionality for all users. |
| 352 |
* Compliance: Localized third-party assets (WebFontLoader, FontAwesome, Plyr, Muses) to eliminate remote CDN dependencies. |
| 353 |
* Privacy: Removed unconditional Google Analytics tracking from the player script. |
| 354 |
* Compliance: Standardized internationalization (i18n) by migrating all text domains to 'streamcast'. |
| 355 |
* Security: Enhanced output escaping and data sanitization in shortcodes and Gutenberg blocks. |
| 356 |
* Enhancement: Added explicit "External Services" and "Source Code" documentation in readme.txt. |
| 357 |
* Fix: Updated shortcode attributes to correctly honor user-provided stream URLs and background colors. |
| 358 |
* Maintenance: Updated compatibility tags and improved code adherence to WordPress.org standards. |
| 359 |
|
| 360 |
= 2.3.9 - 23 February 2026 = |
| 361 |
* **Update:** Redesigned the dashboard with a modern and improved user interface, replacing the previous outdated layout. |
| 362 |
|
| 363 |
= 2.3.7 - 22 November 2025 = |
| 364 |
* Updated readme.txt and fixed issues |
| 365 |
|
| 366 |
= 2.3.6 - 2 November 2025 = |
| 367 |
* Updated Advanced Radio Player |
| 368 |
|
| 369 |
= 2.3.5 - 23 September 2025 = |
| 370 |
* Accessibility: Added screen reader support |
| 371 |
|
| 372 |
= 2.3.4 - 17 September 2025 = |
| 373 |
* Added Modern Dashboard |
| 374 |
|
| 375 |
= 2.3.1 - 17 May 2025 = |
| 376 |
* Added new radio skin |
| 377 |
|
| 378 |
= 2.3.0 - 19 Feb 2025 = |
| 379 |
* Added Gutenberg block and redesigned plugin |
| 380 |
|
| 381 |
= 2.2.4 - 30 July 2024 = |
| 382 |
* Fixed Cross Site Scripting issue |
| 383 |
|
| 384 |
= 2.2.3 - 4 July 2024 = |
| 385 |
* Updated WordPress SDK |
| 386 |
|
| 387 |
= 2.2.2 - 1 Jan 2024 = |
| 388 |
* Fixed unexpected number issue |
| 389 |
|
| 390 |
= 2.2.0 - 26 Aug 2023 = |
| 391 |
* Added new premium skin "B Circle" |
| 392 |
|
| 393 |
= 2.1.11 - 26 Aug 2023 = |
| 394 |
* Fixed uncaught error at line 335 |
| 395 |
|
| 396 |
= 2.1.9 - 1 May 2023 = |
| 397 |
* Updated Freemius SDK |
| 398 |
|
| 399 |
= 2.1.8 - 1 May 2023 = |
| 400 |
* Fixed ops issue |
| 401 |
|
| 402 |
= 2.1.6 - 1 May 2023 = |
| 403 |
* Added support for normal stream on ultimate player |
| 404 |
|
| 405 |
= 2.1.6 - 22 Oct 2022 = |
| 406 |
* Minor fixes |
| 407 |
|
| 408 |
= 2.1.4 = |
| 409 |
* Updated Freemius SDK |
| 410 |
|
| 411 |
= 2.0.0 = |
| 412 |
* Added player themes |
| 413 |
* Added Ultimate Radio Player type |
| 414 |
* Added custom color options |
| 415 |
* Added modern skins |
| 416 |
|
| 417 |
= 1.0 = |
| 418 |
* Initial Release |
| 419 |
|
| 420 |
|