Android TV 直播播放器

电视直播,
本该这么看。

遥控器优先。按一下 OK,玻璃浮层里分类和频道一屏看完;线路断了自动换, 喜欢的频道长按就收藏。

  • Android 9+
  • 遥控器优先
  • Kotlin + Compose

OK 短按开浮层,长按收藏;↑ ↓ 切台,← → 换线路

DDTV 播放江苏卫视:玻璃浮层里「卫视」分类共 43 个频道,焦点环落在正在播放的江苏卫视,右侧星标表示已收藏
实机画面 · 江苏卫视直播中,按一下 OK 唤出玻璃浮层

为遥控器而生

四个瞬间,够用一整天。

从唤出浮层到切台收藏,每一步都在拇指能按到的位置,不用找按钮,也不用切菜单。

01

一条 OK,唤出浮层

半透明玻璃面板直接叠在直播画面上,播放不中断;收起面板就回到刚才那一秒。

02

分类 + 频道,一屏看完

央视、卫视与各省市分类横向切换,频道网格直接把焦点落在正在播放的那一格。

03

线路失败,自动切换

同一频道聚合多条线路并显示「N 源」;起播超时或播放出错自动换下一条,全部失败继续循环重试。

04

长按收藏,置顶分类

长按 OK 收藏当前频道,「收藏」作为置顶虚拟分类固定在真实分类前面,按频道名存在本地。

左右方向键横向浏览 · 当前频道已收藏时,↑ ↓ 只在「收藏」内切换

界面一览

没有多余的一层。

所有信息都叠在播放画面之上:分类、频道、节目单、线路,需要时才出现。

一套遥控器语义

整套操作,一只手。

方向键、OK、数字键就够。下面的遥控器可以按,也可以直接用键盘。

↑ ↓
切台。不循环,到分类首尾停住;当前频道已收藏时只在「收藏」分类内切换。
← →
切换播放线路。线路之间循环;只有一条线路时不响应。
OK 短按
打开频道列表,焦点落在正在播放的频道上。
OK 长按
收藏 / 取消收藏当前频道,长按只触发一次。
0–9
输入频道号,最多 4 位;停止输入约 2 秒后自动跳转,不需要确认键。
MENU
显示 / 隐藏频道列表。
返回
第一次显示退出提示;2 秒内再按一次退出应用。

点按遥控器,或聚焦后使用键盘

遥控器已就绪

细节

该有的都有,不该有的没有。

没有账号、没有会员、没有推荐流。只有频道、线路和节目单。

EPG 实时节目单

CCTV 频道走央视官方接口,其他频道走配置下发的第三方接口;失败后冷却重试。

数字键跳台

频道号按全部分类连续编号,最多 4 位;停手约 2 秒自动跳转,记住常看的序号就够了。

断点续播

冷启动自动回到上次播放的频道,开机即看,不用再翻一遍列表。

弱网兜底

配置或播放列表拉取失败时回退到内置频道列表,提示之后仍然可以继续使用。

线路信息一眼可见

列表里「N 源」表示线路数量,播放信息里显示「线路名 (n/N)」,随时知道还能换几条。

轻量实现

Kotlin + Jetpack Compose for TV + Media3/ExoPlayer,minSdk 28,targetSdk 35。

安装

三种方式,挑顺手的。

APK 从 Releases 下载,文件名形如 DDTV-vX.Y.Z.apk。覆盖安装会保留收藏与设置。

最通用:不需要任何工具,也不依赖网络调试。

  1. 准备 U 盘

    格式化为 FAT32,把 DDTV-vX.Y.Z.apk 复制到根目录,不要改文件名和后缀。

  2. 插到电视

    打开电视自带的「文件管理 / 媒体中心」,找到 U 盘里的 APK。

  3. 允许未知来源

    首次安装会提示禁止安装未知来源应用,到 设置 → 安全 → 未知来源应用安装,给文件管理器打开开关。

  4. 安装并启动

    安装完成后到「应用 / 我的应用 / 全部应用」里启动;只注册了 Leanback 入口,部分桌面不显示图标。

个别电视会把 APK 显示为不可安装,或把文件改名为 .apk.1;改回 .apk 后缀再试。

系统要求

先确认电视跑得动。

DDTV 系统要求
系统版本Android 9(API 28)及以上,targetSdk 35
设备类型Android TV、电视盒子,或使用 Leanback 桌面的智能电视
输入方式遥控器:方向键、OK、返回;数字键与菜单键为可选
屏幕横屏电视,建议 1080p 及以上
网络需要联网:拉取远程配置、播放列表与节目单
账号不需要登录,也没有会员与付费内容
DDTV 应用图标

DDTV

DDTV-vX.Y.Z.apk SHA256SUMS.txt

最新版本与历史版本都发布在 GitHub Releases;每个 Release 附带 SHA256SUMS.txt,可校验下载完整性。 若打开发布页提示 404,请确认仓库已设为 Public,或网络能正常访问 GitHub。

常见问题

安装前后最常问的几件事。

装完电视桌面上没有图标?
应用只注册了 Leanback 启动入口,部分非 Android TV 定制桌面不会展示这类应用。到「应用 / 我的应用 / 全部应用」里找, 或者用 adb shell am start -n com.yzion.ddtv/.ui.MainActivity 直接启动。
手机 / 平板可以装吗?
能装,但同样只声明 Leanback 入口,普通手机桌面不显示图标,也没有遥控器按键,体验不正确。本项目面向 Android TV / 电视盒子。
下载页面提示 404?
常见原因是仓库尚未公开,或当前网络访问 GitHub 受限。确认仓库已设为 Public 后刷新页面;也可以直接打开 Releases 列表再进对应版本。
能导入自己的 m3u / txt 列表吗?
当前版本没有提供导入入口。频道来源是应用内置的 assets/channels.txt 以及远程配置下发的 txt 列表,二次开发可以替换内置列表后重新构建。
应用会自动更新吗?
不会。需要自己到 Releases 下载新版 APK 覆盖安装,覆盖安装会保留收藏与设置;卸载应用或清除数据会丢收藏,当前版本没有导出 / 导入功能。
某个频道黑屏、卡顿或播不出来?
先按左右键切换线路;应用在起播超时或播放出错时也会自动切到下一线路,全部线路失败会继续循环重试。 直播源来自第三方公开接口,清晰度与稳定性不由本项目控制。