docs: 添加 README(功能亮点/遥控器操作/安装说明)、LICENSE、更新日志、横幅与 v9.2.0 APK

This commit is contained in:
Hermes Agent committed 2026-10-08 14:09:52 +08:00
1 parent 39c0c65c92
commit 1b87544e42
7 files changed
+247 -1

No files matched your search

+2 -1
View File
@@ -1,5 +1,6 @@
build/
.gradle/
local.properties
*.apk
.idea/
*.apk
!apk/*.apk
+118
View File
@@ -0,0 +1,118 @@
# 更新日志
> 包名:`com.iptv807.tv` | Android 5.0+
> 每个版本的 APK 都在 [`apk/`](apk/) 目录与 [Releases](../../releases) 中保留。
---
## v9.2.0(2026-10-08)→ ✨新功能 / 🐛修复
- 🐛 从设置页或桌面返回时,直接**重连当前流**(不再依赖 `play()`,避免画面定格)
- ✨「▶ 继续播放」按钮改为强制重连同一路流,恢复更快更可靠
## v9.1.0(2026-10-08)→ 🐛修复
- **修复切台看不到「正在加载」和计时**:切台时旧频道仍在播放,它一有缓冲波动就触发播放回调,把刚弹出的加载遮罩立刻隐藏了(经常一闪而过甚至看不到)
- 加 `awaitingStart` 标记:**只有这次要播的新频道真正起播**才收起加载提示,旧频道的回调不再影响
- 加载遮罩显示时 `bringToFront()`,保证不被其它浮层挡住
## v9.0.0(2026-10-08)
- **修复设置页/商店页看不到选中项**:原来用 `setBackgroundColor` 给按钮设固定底色,把系统自带的焦点高亮覆盖掉了
- 所有可操作项改为**获得焦点即变蓝**(StateListDrawable):卡密输入框、激活、支付成为会员、开机自启动开关
- 商店页同样处理,并改为**遥控手动导航**:上下选套餐、左右切支付宝/微信、OK 购买;选中的套餐行蓝底
- 设置页内容变长,加了滚动容器,下面被挡住的项也能滚到
## v8.9.0(2026-10-08)
- **修复「换不了台」**:上一版把方向/确认键交给系统焦点处理,在部分电视盒子上焦点根本进不了列表 → 按键全部空转
- 改为**完全手动的选择模型**:高亮由 App 自己画(选中行蓝底白字),上下移动、左右切列、OK 确认全部由按键逻辑直接处理,**不再依赖系统焦点机制**
- 面板打开时吞掉其它按键,避免误触发换台;分组列上下移动时确认才会切换("⚙ 设置"停在上面不误进)
- 上下移动频道时会顺手预取那一行的源
## v8.8.0(2026-10-08)
- **实测源站瓶颈**:`m.iptv807.com` 抓播放页需 1~7 秒,且失败率约 50%(半路断连/超时);token **与频道绑定**(换频道 id 复用同一 token 返回 404),所以每次切到没打开过的频道都必须抓一次源
- **修复"切台反而接不了"**:解析原用全局锁,后台预取占锁时用户切台要排队 → 改为**每频道独立锁**
- 缓存有效期 8 分钟 → **30 分钟**(已打开过的频道切回秒开)
- 预取从「整组抓」改为「只抓当前高亮的那一个频道」(1.2 秒去抖动),不再压垮源站
- 全部线路失败时**自动强制刷新源再试一轮**(应对缓存 token 过期)
- 加载提示显示频道名:`正在加载「TVB翡翠台」3 秒…`
## v8.7.0(2026-10-08)
- **修复退出没有提示**:`AlertDialog` 在电视的全屏主题下创建失败(异常被兜底逻辑吞掉 → 直接退出、无提示)
- 退出确认改为**App 内自绘弹层**:半透明遮罩 + 卡片 + 「取消 / 退出」两个按钮,不依赖系统对话框主题
- 按钮有焦点高亮(获得焦点变蓝),默认焦点放在「取消」上防误触;返回键 = 取消
## v8.6.0(2026-10-08)
- **修复遥控器无法在选台面板操作**:原因是面板打开时把方向键/确认键全拦截了,焦点根本进不了列表
- 面板打开后只接管 返回 / MENU(收藏),**方向键与确认键全部交给列表自己处理**
- 频道列表与分组列表加**蓝色焦点高亮**(方向键经过的行变蓝),按 OK 即播放
- 打开面板时焦点自动进入频道列表并定位到当前频道;选中分组后焦点自动跳到频道列表
- 列表行改为白色文字、透明底(原来系统默认样式在暗色主题下几乎看不出选中)
## v8.5.0(2026-10-08)
- **测试卡密:`88531`** —— 在设置页「卡密激活」输入即可,直接永久授权(本地判定,不走服务器),显示「测试卡:永久有效」
- 可用于测试购买/时长逻辑,正式卡密流程不受影响
## v8.4.0(2026-10-08)
- 设置页新增「卡密激活」:输入框 + 激活按钮,验证通过后立即写会员状态
- 从设置返回播放页立即生效(onResume 重新读取会员状态),无需重启
- 激活链路已实测:生成月卡 → `/api/public/verify` 返回 valid / 月卡 / 30 天 / 到期时间
## v8.3.0(2026-10-08)
- **切台提速**:去掉切台前逐条线路预探测(原最大拖累,每条最长等 4 秒),改为直接开播 + 失败自动换线
- 起播缓冲调小(适配直播流):`setBufferDurationsMs(1500, 12000, 500, 1000)`
- 打开选台面板时后台预取该组频道源,切台秒开
- 加载提示带实时计时:`正在加载 N 秒,精彩继续…`(一直走到出画面)
- 播放期间屏幕常亮(FLAG_KEEP_SCREEN_ON)
## v8.2.0(2026-10-08)
- 连滑两次退出前弹窗确认(退出 / 取消)
## v8.1.0(2026-10-08)
- 连续滑动两次完全退出 App(1.5 秒内两次,位移>120px/0.8s 内判定);第一次滑动提示「再滑动一次退出应用」
## v8.0.0(2026-10-08)
- 修复从桌面返回画面卡住:`onResume` 自动续播 + 屏幕中央「▶ 继续播放」按钮(遥控 OK 可点,重连当前频道)
## v7.9.0(2026-10-08)
- **修复套餐列表空白**:接口不返回 `status` 字段,原代码 `optInt("status")==1` 把 4 个套餐全过滤掉
- 套餐按天数排序;无套餐时给出提示
- 已验证下单链路:card-types → orders → orders/query 全部正常
## v7.8.0(2026-10-08)
- 抓源加 3 次重试(15s 连接 / 20s 读取),抗网络抖动
- 失败自动重连(网络波动,正在重试 n/3)+ 内存/磁盘双缓存兜底
- 缓存线路全失效时自动强制刷新源
## v7.7.0(2026-10-08)
- 加载提示文案改为「正在加载,精彩继续…」
## v7.6.0(2026-10-08)
- 按需求去掉加载计时(v8.3.0 已按要求加回)
## v7.5.0(2026-10-08)
- 加载计时不再 12 秒后冻结成固定文字
- 修复右上角「今日免費」计时不走动(无人累计用量)
## v7.4.0(2026-10-08)
- 失败画面信息全开:版本号 + 逐条线路实测状态码 + token 片段
- 播放错误 2004 = HTTP 状态码错误(非网络不通),用于区分故障类型
## v7.3.0(2026-10-08)★ 播放关键修复
- **真根因**:混淆块里 `xx = yy` 复制语句导致取「第 2 个 32 位值」正好等于密钥 → 旧 token 替换失败 → 地址留着过期 token → 全部 404
- 改为取「第一个不等于密钥」的值 + token 兜底替换
- 解释了「台少时能播」:那是编译期写死的地址,不是运行时解析
## v7.2.0(2026-10-08)
- 默认播放 TVB翡翠台
- 启动自检显示解析/拉流状态
## v7.1.0(2026-10-08)
- 去掉解密结果多做的一步 URLDecoder(把 `%2B` 解成 `+` → 服务端当空格 → 404)
- 去掉右上角「原生模式」标签
## v7.0.0(2026-10-08)
- 彻底删除网页兜底(按要求纯原生化)
- 打开即播,不再弹套餐/卡密页
- 设置移到分组列表第一项(显眼位置)
## v7.0.1 / v6.x / v5.x / v4.x / v3.x / v2.x / v1.x
> 早期版本(IPTV807-TV-v1.0.0 起至 v6.1.1)在与新版本交替时已被删除,
> 当时项目无 git 历史与备份,**无法恢复**。自 v8.3.0 起不再删除任何版本。
+27
View File
@@ -0,0 +1,27 @@
MIT License
Copyright (c) 2026 港澳台直播
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---
补充说明:本软件仅是一个播放器外壳,不存储、不转播、不托管任何视频内容。
所有频道数据均来自第三方公开网站,其版权归原权利人所有。使用者应自行承担
使用风险,请在下载后 24 小时内删除。
+100
View File
@@ -0,0 +1,100 @@
<div align="center">
<img src="assets/banner.png" alt="港澳台直播" width="820">
<h1>港澳台直播 · Android TV</h1>
<p><b>港澳台 55 个频道,装上就能看,遥控器一点就换台</b></p>
<p>
<a href="https://github.com/personal82555/gangao-tv/releases/latest"><img src="https://img.shields.io/badge/下载-APK-1B6EF3?style=for-the-badge" alt="下载"></a>
<img src="https://img.shields.io/badge/Android-5.0%2B-3DDC84?style=for-the-badge&logo=android&logoColor=white" alt="Android 5.0+">
<img src="https://img.shields.io/badge/平台-Android%20TV%20%7C%20电视盒子%20%7C%20手机-555?style=for-the-badge" alt="平台">
</p>
</div>
---
## ✨ 为什么值得装
| | 特点 | 说明 |
|---|---|---|
| 📺 | **55 个港澳台频道** | 香港 / 澳门 / 台湾 三大分组,含 TVB 翡翠台、明珠台、无线新闻、凤凰卫视、ViuTV、HOY TV、澳视、台湾综合台等 |
| 🎮 | **遥控器真的能用** | 数字键直接跳台;选台面板方向键移动,**选中行蓝底高亮**,按 OK 播放 |
| 🔀 | **10 条线路自动切换** | 一条不通自动换下一条,不用手动折腾 |
| 🔁 | **断了会自己回来** | 网络抖动自动重试;从后台/设置页返回自动重连画面;实在不行点「▶ 继续播放」 |
| ⭐ | **收藏常看频道** | 菜单键一键收藏,收藏分组置顶 |
| 🚀 | **秒开体验** | 高亮频道时后台悄悄备好源,按 OK 基本秒开;看过的频道切回是瞬间的 |
| 💡 | **贴心的电视细节** | 开机自启动、播放中屏幕常亮、连滑两次安全退出(带确认)、全屏无干扰 |
| 🆓 | **免费可用** | 每天免费 1 小时;需要长时间观看可购买月卡/季卡/永久 |
## 📺 频道分组
| 分组 | 数量 | 代表频道 |
|---|---|---|
| 🌏 香港 | 20+ | TVB 翡翠台、TVB Plus、明珠台、无线新闻台、凤凰卫视中文台/资讯台、ViuTV、HOY TV、港台电视 31 |
| 🌏 澳门 | 6 | 澳视澳门、澳视综艺、澳视资讯、澳门莲花、澳門卫视 |
| 🌏 台湾 | 20+ | 台视、中视、华视、民视、公视、TVBS、东森、三立、八大、龙华系列 |
> 频道数量与线路由源站动态提供,实际以 App 内列表为准。
## 🎮 遥控器操作
| 按键 | 作用 |
|---|---|
| **OK**(画面中) | 弹出选台面板 |
| **上下** | 移动选中项(蓝底高亮),停一下会自动预加载 |
| **左右** | 在「分组 ↔ 频道」之间切换 |
| **OK**(面板中) | 播放选中的频道 |
| **返回** | 收起面板 |
| **数字键** | 直接跳到对应频道号 |
| **菜单键** | 收藏 / 取消收藏当前频道 |
| **连滑两次** | 退出应用(有确认弹窗) |
## 📥 下载安装
1. 下载最新 APK:[**港澳台直播-v9.2.0.apk**](apk/港澳台直播-v9.2.0.apk)(或到 [Releases](../../releases) 下载)
2. 传到电视盒子 / 电视 / 手机上
3. 安装时允许「未知来源」应用
4. 打开即播,默认进入 **TVB 翡翠台**
- 包名:`com.iptv807.tv` | 支持 Android 5.0 及以上 | 横屏
- TV 桌面会自动出现横幅图标(Leanback)
## 💳 会员与激活
- **免费**:未激活也能看,每天 1 小时
- **扫码购买**:设置 →「支付成为会员」→ 选套餐 → 支付宝/微信扫码 → **支付成功自动激活本机**(无需卡密)
- **卡密激活**:设置 →「卡密激活」→ 输入卡密 → 立即生效(无需重启)
## 🛠 技术栈
```
Kotlin · Android Media3 / ExoPlayer · Leanback 兼容 · 无第三方 SDK
```
- 播放源在 App 内实时解析(Referer / 302 跟随 / FLV 直播流),不依赖任何中转服务
- 三级缓存(内存 / 磁盘)+ 每频道独立锁,网络抖动不影响切台
- 播放中断自动换线路、缓存 token 过期自动刷新源
## ❓ 常见问题
**Q:某些频道要等几秒才出来?**
A:源站每次取流需要现拉一次页面,偶尔较慢;已经打开过的频道会缓存 30 分钟,切回去是瞬间的。
**Q:显示「全部线路失败」?**
A:多为该频道源站临时故障或网络抖动,App 会自动重试并刷新源;稍后再试或换一个频道。
**Q:从设置页返回画面不动了?**
A:已自动重连;若仍不动,屏幕中央点「▶ 继续播放」(遥控 OK 也可以)。
## ⚠️ 免责声明
- 本项目仅是一个**播放器外壳**,不存储、不转播、不托管任何视频内容。
- 所有频道数据均来自第三方公开网站,版权归原方所有。
- 本项目仅供个人学习与技术交流,请勿用于商业用途;请于下载后 24 小时内自行删除。
- 若相关内容侵犯了您的权益,请提交 Issue,我们会及时处理。
## 📄 更新日志
见 [CHANGELOG.md](CHANGELOG.md)
## 📜 许可
[MIT](LICENSE)
Binary file not shown.
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB