# 📚 Audiobook Player 极简沉浸式的英文有声书 Web 应用。 ## ✨ Features - 🎨 **极简设计** - 米白底色,纸质书阅读体验 - 🌙 **夜间模式** - 一键切换深色主题 - 📱 **移动优先** - 完美适配手机,支持 App 内嵌浏览器 - 🔊 **流式朗读** - 实时 TTS,无需等待完整转换 - 🔄 **断点续读** - 自动保存阅读进度 - ⚡ **懒加载** - 长文章分段加载,流畅滑动 - 👆 **手势支持** - 滑动返回,双击缩放 ## 🏗️ 架构 ``` Flask Backend Frontend ├── / (index) ────────▶ 首页(来源选择) ├── /list/ ────────▶ 故事列表 ├── /play/ ────────▶ 播放页面 │ ├─ 顶部固定播放器 │ └─ 下方内容区 └── /api/stream ────────▶ TTS 音频流 ``` ## 🚀 快速开始 ```bash cd ~/nanocode/audiobook-player # 安装依赖 pip3 install -r requirements.txt # 启动服务器 ./start.sh start-bg # 查看状态 ./start.sh status ``` 访问:http://localhost:5000 ## 📁 目录结构 ``` /home/ubuntu/media/ ├── libraryofshortstories/ │ ├── the-1000000-bank-note/ │ │ ├── content.txt │ │ └── metadata.md │ └── ... └── public-domain-poetry/ └── ... ``` ## 🎮 页面导航 | 页面 | 路径 | 功能 | |------|------|------| | 首页 | `/` | 显示所有来源(libraryofshortstories, poetry等) | | 列表 | `/list/` | 该来源下的故事列表 | | 播放 | `/play//` | 播放器 + 文章内容 | ## 🎨 设计规范 - **配色**:米白 `#F5F1E8` / 深黑 `#1A1A1A` - **字体**:Georgia 衬线体 - **播放器**:固定 100px,磨砂玻璃效果 - **卡片**:圆角 16px,阴影 - **触摸区**:≥ 80px ## 🔧 开发计划 - [x] 基础 Flask 框架 - [x] 三页面模板 - [x] 流式 TTS 播放 - [x] 主题切换 - [ ] 阅读进度同步 - [ ] 播放速度调节 - [ ] 收藏功能 ## 📱 App 集成 适合嵌入手机 App 的 WebView: ```swift // iOS WKWebView let webView = WKWebView() webView.load(URLRequest(url: URL(string: "http://129.211.173.87:5000")!)) ``` ```kotlin // Android WebView webView.loadUrl("http://129.211.173.87:5000") ``` 特点: - 每页独立返回按钮,不依赖浏览器导航 - 无地址栏干扰 - 响应式布局