开发流程。。。

📅 2026/7/10 19:30:03
开发流程。。。
这个方案更合理结合了自动检测和手动触发我理解了你的新思路工作流程┌─────────────────────────────────────────────────────────────────────┐ │ SERVER.PY 主流程 │ └─────────────────────────────────────────────────────────────────────┘ │ ▼ ┌───────────────────────────────┐ │ 启动服务器 │ │ - 后台轮询B站API保持不变 │ │ - 检测当前播放视频 │ │ - 检测到新视频自动生成音频 │ │ - 但不发送音频流待机 │ └───────────────────────────────┘ │ ▼ ┌───────────────────────────────┐ │ 等待手机控制指令 │ │ - 手机连接电脑热点 │ │ - 打开网页控制面板 │ └───────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ 手机控制流程 │ └─────────────────────────────────────────────────────────────────────┘ │ ┌───────────────┴───────────────┐ │ │ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────┐ │ 点击 开始播放 │ │ 点击 暂停 │ │ 从第0秒开始发送 │ │ 停止发送音频 │ └─────────────────────┘ └─────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ 音频播放逻辑顺序播放 │ │ 1. 从当前音频段的0秒开始发送 │ │ 2. 发送完整个文件约23秒 │ │ 3. 检查秒数是否达到20的整数倍 │ │ - 是 → 切换到下一段 │ │ - 否 → 继续播完当前段 │ │ 4. 所有音频播完 → 回到待机状态 │ └─────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ 后台任务持续运行 │ │ - 监控B站当前播放视频 │ │ - 如果视频切换自动生成新音频 │ │ - 更新当前视频的音频段列表 │ │ - 更新总时长 │ └─────────────────────────────────────────────────────────┘详细流程阶段1启动 待机启动 server.py │ ├─ 启动后台轮询线程每4秒检测B站 │ ├─ 检测到视频 → 记录 bvid │ ├─ 检查音频文件是否存在 │ │ ├─ 存在 → 记录音频段列表 │ │ └─ 不存在 → 调用 watch.py 生成 │ └─ 视频切换 → 更新音频段列表 │ ├─ 启动HTTP服务器 │ ├─ / → 控制网页 │ ├─ /stream → 音频流待机状态不发送数据 │ └─ /status → 当前状态视频信息、进度等 │ └─ 等待手机连接阶段2手机控制手机连接电脑热点 → 打开 http://电脑IP:8080/ │ ▼ 网页显示 - 当前视频标题 - 总时长 - 已生成音频段数 - 播放状态待机/播放中/已播完 - 控制按钮[开始播放] [暂停] [重置] - 进度条显示 │ ▼ 点击 [开始播放] │ ▼ 服务器开始从第0段发送音频 │ ├─ 播放第1段0-20s实际23秒 │ └─ 发送完整文件 │ ├─ 播放第2段21-41s实际23秒 │ └─ 发送完整文件 │ ├─ 播放第3段42-62s实际23秒 │ └─ 发送完整文件 │ ├─ ... 直到所有段播完 │ └─ 所有段播完 → 回到待机状态阶段3切换逻辑播放过程中后台轮询持续工作 │ ├─ 检测到视频切换 │ ├─ 更新音频段列表 │ ├─ 重置播放进度 │ └─ 回到待机状态等待重新开始 │ └─ 检测到同一个视频 ├─ 继续播放 └─ 不中断与ESP32的关系┌─────────────────────────────────────────────────────────────────────┐ │ ESP32 角色 │ └─────────────────────────────────────────────────────────────────────┘ │ ▼ ┌───────────────────────────────┐ │ 连接电脑热点 │ │ 接收音频流并播放 │ │ 无控制逻辑纯接收端 │ └───────────────────────────────┘ESP32只负责连接电脑热点请求/stream获取音频播放音频通过I2S所有控制逻辑在电脑上手机通过网页控制电脑。优势保留B站自动检测视频切换自动处理手动控制播放用户决定何时开始顺序播放不会漏段不会重叠ESP32简化只需接收和播放手机控制直观大按钮适合操作下一步实现按这个逻辑重写server.py保留后台轮询检测视频、生成音频添加播放状态机待机 → 播放中 → 完成添加控制API开始、暂停、重置修改/stream逻辑根据播放状态发送音频提供控制网页开始写代码