在流媒体大行其道的今天,广播电台这个古老的媒介似乎被很多人遗忘了。但对于语言学习者、异国文化爱好者和电台怀旧族来说,能随时随地听到来自世界各地的实时广播,是一种无可替代的体验。然而现实很骨感:各个电台网站分散、格式不统一、移动端适配差,找个能用的在线电台费时费力。基石项目精选 今天要推荐的 GlobalRadio,正是一个帮你解决这些痛点的开源项目——一台装在浏览器和手机里的「全球收音机」。
GlobalRadio 是基于 Vue 3 + Vite + TypeScript 构建的在线电台应用,目前在 GitHub 已收获 150+ Star。它的核心功能相当齐全:支持电台搜索(搜中文台名没问题)、播放控制、收藏列表、播放历史,还有睡眠定时器——睡前听着电台自动关闭,不用担心播一整晚。界面支持亮色和暗色主题切换,视觉风格干净简洁。
技术上看,GlobalRadio 有几个亮点值得一提。首先,它内置了 i18n 国际化方案,支持全球主流语言,不是简单的中英切换。其次,完全支持 PWA(渐进式 Web 应用),意味着你可以在手机上把它安装成一个接近原生 App 体验的客户端,支持安卓、iPhone 和桌面端。部署方面更是极简主义:项目提供了 Docker Hub 镜像(支持 x86 和 ARM/arm64 两种架构),一行命令即可拉起,甚至已经被收录到科技 Lion 的一键部署脚本中,自动配置域名和 SSL 证书。
在功能性上,GlobalRadio 还支持电台分享功能,发现好节目可以直接把链接发给朋友。首页的音乐电台和最新电台列表有内存缓存机制(默认 5 分钟),刷新按钮可以绕过缓存重新拉取数据,体验设计相当用心。目录结构清晰,Nginx 配置、Dockerfile 一应俱全,想自己定制部署也毫无障碍。
为什么值得关注?因为 GlobalRadio 用现代化的前端技术栈,把一个看似传统的需求做到了极致体验。无论是想搭建自己的电台聚合站,还是想学习 Vue 3 PWA 开发的实战案例,这个项目都很有参考价值。在线演示站 aabb.live 已经可以直接访问体验,打开浏览器就能听到全世界的声音。
🔗 项目地址:https://github.com/moli-xia/global-radio