这个项目能做什么
MyMovieStore 是一个使用 Kotlin 开发的 Android 原生影视浏览与播放应用,同一 APK 同时兼容手机与 Android TV/盒子。应用将功能拆分为内容发现层和内容播放层:内容发现层从豆瓣页面抓取影视内容,支持电影、电视剧、综艺、动漫等分类浏览;内容播放层聚合 19 个爬虫播放源(如剧集屋、樱花动漫、电影天堂等),支持多源并行搜索、插空法排序、详情解析和 Media3 ExoPlayer 播放。
项目具备较完整的功能体系:播放器支持弹幕系统(多源搜索、缓存、本地优先、字号自适应)、播放历史、搜索历史、视频源远程配置管理、分类缓存清理、M3U8 下载管理(含 AES-128 加密流解密、断点续传、离线播放)、爬虫限流(每源独立队列、3 秒最小间隔、优先级抢占)以及 Cloudflare 过盾、TLS 指纹拦截降级等反爬应对。
Android TV 适配通过运行时形态判定实现,网络层、Repository、ViewModel 与播放器封装完全共用,适配范围限定在 UI 层。电视端提供 10-foot UI(密度放大 1.45 倍)、遥控器 D-pad 焦点体系、顶部导航栏、手机扫码搜索、能力缺失守卫等。
技术栈采用 Kotlin 2.0.0、Gradle 8.9、minSdk 24、targetSdk 36,使用 Room、OkHttp、Media3 ExoPlayer、ZXing 等组件。项目定位为 Kotlin 代码爬虫练习,代码结构清晰,新增播放源只需继承 CrawlerVideoSource 并实现两个解析方法。
评论
0 评分人数达到10人后显示
登录后参与讨论。