Your Radio 是一款单电台网络收音机应用,支持在线播放电台、定时关闭、推送通知等功能。
项目分析报告:Your Radio App – Single Station
项目概述
项目名称: Your Radio App – Single Station
包名: com.app.yoursingleradio
版本: 5.3.0
平台: Android
开发语言: Java
应用类型: 网络电台应用
Your Radio 是一款单电台网络收音机应用,支持在线播放电台、定时关闭、推送通知等功能。
功能描述
核心功能
- 电台播放: 在线流媒体播放
- 前台服务: 后台播放电台
- 定时关闭: 睡眠定时器
- 推送通知: Firebase 推送通知
- 广告支持: AdMob 和 AppLovin 广告
- 媒体按钮: 支持耳机线控
- 通知控制: 通知栏播放控制
- 网络电台: 支持多种流媒体格式
主要模块
| 模块 | 功能说明 |
|---|---|
| activities/ | 活动页面 |
| adapters/ | 列表适配器 |
| callbacks/ | 回调接口 |
| database/ | 数据库管理 |
| fragments/ | 碎片页面 |
| models/ | 数据模型 |
| notification/ | 通知管理 |
| rests/ | REST API |
| services/ | 后台服务 |
| utils/ | 工具类 |
项目结构
codecanyon-19122125-your-radio-app/
└── your_single_radio_5.3.0/
└── android_studio/YourSingleRadio/
└── app/src/main/
├── java/com/app/yoursingleradio/
│ ├── Config.java # 配置
│ ├── activities/ # 活动页面
│ │ ├── ActivitySplash.java # 启动页
│ │ ├── MainActivity.java # 主界面
│ │ ├── ActivityPermission.java # 权限
│ │ └── ActivityRedirect.java # 跳转
│ ├── adapters/ # 适配器
│ ├── callbacks/ # 回调
│ ├── database/ # 数据库
│ ├── fragments/ # 碎片
│ ├── models/ # 数据模型
│ ├── notification/ # 通知
│ │ └── MyFirebaseMessageService.java
│ ├── rests/ # API
│ ├── services/ # 服务
│ │ ├── RadioPlayerService.java # 电台播放服务
│ │ └── MediaButtonIntentReceiver.java
│ └── utils/ # 工具类
└── AndroidManifest.xml
核心业务逻辑
电台播放流程
1. 启动应用 → 检查权限
2. 加载电台配置 → 获取流媒体 URL
3. 启动前台服务 → 播放电台
4. 显示通知 → 播放控制
5. 后台播放 → 持续播放
定时关闭
- 用户设置定时时间
- 启动定时器
- 时间到 → 停止播放
- 关闭服务
媒体按钮控制
- 监听媒体按钮事件
- 播放/暂停/下一首
- 耳机拔出暂停
核心代码文件
| 文件路径 | 说明 |
|---|---|
Config.java |
应用配置常量 |
ActivitySplash.java |
启动页面 |
MainActivity.java |
主界面,播放控制 |
RadioPlayerService.java |
电台播放前台服务 |
MediaButtonIntentReceiver.java |
媒体按钮接收器 |
SleepTimeReceiver.java |
定时关闭接收器 |
MyFirebaseMessageService.java |
Firebase 消息服务 |
技术栈
| 技术 | 用途 |
|---|---|
| ExoPlayer/MediaPlayer | 音频播放 |
| Firebase Cloud Messaging | 推送通知 |
| AdMob | 广告集成 |
| AppLovin | 广告网络 |
| Foreground Service | 前台服务 |
| MediaSession | 媒体会话 |
权限需求
<!-- 网络权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 前台服务权限 -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
<!-- 通知权限 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
<!-- 其他权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
服务组件
RadioPlayerService (前台服务)
- 后台播放电台
- 媒体通知显示
- 播放状态管理
MediaButtonIntentReceiver
- 监听媒体按钮
- 耳机线控支持
- 播放控制
SleepTimeReceiver
- 定时关闭功能
- 广播接收器
- 时间到停止播放
广告集成
AdMob 配置
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="@string/admob_app_id" />
AppLovin 配置
<meta-data
android:name="applovin.sdk.key"
android:value="@string/applovin_sdk_key" />
总结
Your Radio 是一款专业的单电台网络收音机应用,采用前台服务实现后台播放,支持媒体按钮控制、定时关闭、推送通知等功能。应用集成双广告网络(AdMob + AppLovin),适合电台运营商快速发布自己的电台应用。
优势特点:
- 前台服务后台播放
- 媒体按钮和线控支持
- 睡眠定时器
- Firebase 推送通知
- 双广告网络集成
- 通知栏播放控制
- 支持多种流媒体格式
适用场景:
- 网络电台应用
- 在线音乐播放
- 播客应用
- 音频流媒体