# Language_Learning **Repository Path**: lrc-sean/language_learning ## Basic Information - **Project Name**: Language_Learning - **Description**: 语言学习软件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-13 - **Last Updated**: 2026-10-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Language_Learning #### 介绍 一款语言学习应用,目前支持「英语」「粤语」两种语言。在电脑端开发,可发布到手机安卓端使用。界面为白色简约的「学习风」(强制亮色)。 核心功能: - 一屏一个的视频播放,上下滑动翻页、首尾循环,只有当前视频播放;点击画面可暂停 / 继续,底部进度条可拖动跳转 - 上传视频后自动切换到刚上传的视频并开始播放,同时自动提取音轨生成录音;识别过程中「上传」按钮自动禁用,识别完成后恢复 - 「听录音」弹窗播放录音,支持开始 / 暂停 / 继续 / 停止与播放进度查看 - 永久删除:视频 / 录音均可删除,删除前有确认弹窗,删除后不可恢复 - 自动轮播:视频与录音播完自动切换下一条并循环 - 媒体永久保留:视频 / 录音复制到应用数据目录,重名自动追加序号避免覆盖 - 英语 / 粤语两个界面互相独立:切换语言后非当前界面的视频全部暂停,互不干扰 - 后台保活:安卓端切后台 / 锁屏后播放不中断,回到前台从后台进度接着播放(不回开头) - 应用内自动更新(OTA):启动时自动检查,弹窗内同时显示当前版本与新版本,并带下载进度 #### 软件架构 - 基于 Qt 6.8.3 + Qt Quick(QML)开发,界面以 QML 为主 - C++ 仅用于启动代码与媒体处理(媒体库、音轨提取)、自更新逻辑 - 使用 CMake 构建,面向 Windows 桌面与安卓(arm64-v8a)双平台 - 中部视频播放区采用真实的媒体播放器,一次显示一个视频,上下滑动翻页、首尾循环,只有当前视频播放 - 媒体文件复制到应用数据目录永久保留,重名自动追加序号避免覆盖,并以 JSON 索引记录列表(重启后仍保留) - 安卓端随包打入 OpenSSL 运行库(android_openssl),保证拉取更新清单 / 下载更新包等 https 请求可用 #### 构建环境 - Qt 6.8.3(Quick / Multimedia / Network 模块),C++ 标准 C++17,构建工具 CMake,桌面端编译器 MinGW - 安卓端使用 arm64-v8a 套件,Gradle 8.10 + JDK 17,Release 构建需配置签名密钥库;首次 configure 需联网(经镜像下载 OpenSSL for Android 预编译库) #### 安装教程 1. Windows 桌面:使用 windeployqt 部署依赖后,直接运行可执行程序。 2. 安卓:安装已签名的 APK 安装包。 3. 发布新版时:递增 `CMakeLists.txt` 中的项目版本号并重新编译 → 覆盖服务器上的下载直链 → 同步更新 `version.json`;客户端只在服务器版本号严格大于本地版本号时才提示更新(安卓安装包的 versionCode 由项目版本号自动换算,递增版本号即可正常升级)。 #### 使用说明 1. 通过「上传」按钮上传视频(mp4)或录音(m4a);上传视频后会自动切换到该视频并开始播放,同时提取音轨生成录音,识别过程中「上传」按钮自动禁用、识别完成后恢复。 2. 在中部视频播放区上下滑动切换视频,一屏一个视频、首尾循环;点击视频画面可暂停 / 继续播放,画面下方进度条可拖动跳转到任意位置。 3. 删除视频 / 录音均有确认弹窗,删除后不可恢复。 4. 底部导航栏在「英语」「粤语」之间切换当前语言;两个界面互相独立,切换语言后非当前界面的视频全部暂停,互不干扰。 5. 「听录音」弹窗播放录音,支持开始 / 暂停 / 继续 / 停止与播放进度查看;打开「轮播」开关后,视频与录音播完会自动切换下一条并循环。 6. 应用启动时自动检查服务器上的 `version.json`,发现新版本会弹窗(同时显示当前版本与新版本)并可下载安装:桌面端下载完成后自动替换 exe 并重启,安卓端调起系统安装器完成安装。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request