# flymby
**Repository Path**: fbinba3955/flymby
## Basic Information
- **Project Name**: flymby
- **Description**: Flymby 是一款基于鸿蒙系统(HarmonyOS)开发的媒体服务应用。它允许用户连接、管理和访问 Emby服务器 ,提供流媒体播放和内容管理功能。
- **Primary Language**: TypeScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 6
- **Forks**: 2
- **Created**: 2024-07-25
- **Last Updated**: 2025-07-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: 鸿蒙next, emby
## README
# Flymby
## 项目概述
Flymby 是一款基于鸿蒙系统(HarmonyOS)开发的多媒体服务器客户端应用。它主要为用户提供 Emby 媒体服务器的完整连接、管理和内容播放功能,为用户提供统一的媒体播放体验。
## 应用截图
## 主要功能
### 核心功能
- **多服务器支持**: 连接和管理多个媒体服务器
- **媒体播放**: 支持音频和视频内容的流媒体播放
- **播放记录**: 支持播放进度记录和断点续播
- **字幕支持**: 支持多格式字幕文件
- **收藏管理**: 管理和访问您收藏的媒体内容
- **搜索功能**: 快速查找媒体内容
- **自适应布局**: 支持手机、平板和二合一设备的横竖屏布局
### 支持的服务器类型
- **Emby 服务器**: 完整功能支持,包括用户认证、媒体管理、播放控制等
### 播放器功能
- **多播放器引擎**: 集成 SmartXPlayer 和 wlmedia 播放引擎
- **播放控制**: 支持播放/暂停、进度控制、音量调节
- **字幕控制**: 支持字幕开关、字幕选择
- **播放队列**: 支持播放列表管理
### 个性化设置
- **主题模式**: 支持明暗主题切换
- **播放设置**: 自定义播放器相关配置
- **显示设置**: 调整应用界面显示选项
- **隐私保护**: 严格遵守隐私保护规范
## 技术构成
### 开发环境
- **开发语言**: ArkTS (ExtendedTypeScript)
- **UI框架**: ArkUI
- **目标平台**: HarmonyOS
- **兼容版本**: HarmonyOS 5.0.4(16) 及以上
- **支持设备**: 手机、平板、二合一设备
### 核心依赖
- **@ohos/pulltorefresh**: 下拉刷新组件
- **@hzw/zrouter**: 路由管理(未使用)
- **@pura/harmony-utils**: 工具库
- **@pura/harmony-dialog**: 对话框组件
- **@qtfm/smartxplayer**: 音频播放器模块(未使用)
- **libwlmedia**: WL媒体播放库
### 模块架构
- **main**: 主应用模块
- **common**: 通用组件和工具模块
- **smartxplayer**: 播放器核心模块
## 安装要求
- **系统要求**: HarmonyOS 5.0.4(16) 及以上版本
- **设备支持**: 手机、平板、二合一设备
- **网络权限**: 需要互联网访问权限
- **服务器要求**:
- Emby 媒体服务器 (版本 4.0 及以上)
## 项目结构
```
flymby/
├── AppScope/ # 应用级配置
│ ├── app.json5 # 应用配置文件
│ └── resources/ # 应用级资源
├── main/ # 主模块
│ ├── src/main/
│ │ ├── ets/
│ │ │ ├── api/ # API接口层
│ │ │ │ ├── emby/ # Emby API封装
│ │ │ │ ├── HttpConfig.ets
│ │ │ │ └── HttpRequest.ets
│ │ │ ├── constants/ # 常量定义
│ │ │ ├── controller/ # 控制器
│ │ │ ├── mainability/ # 主能力
│ │ │ ├── pages/ # 页面组件
│ │ │ │ ├── Index.ets # 主页面
│ │ │ │ ├── home/ # 首页相关页面
│ │ │ │ ├── player/ # 播放器页面
│ │ │ │ ├── search/ # 搜索功能
│ │ │ │ ├── setting/ # 设置页面
│ │ │ │ ├── add-server/ # 添加服务器
│ │ │ │ ├── collection/ # 收藏管理
│ │ │ │ └── webview/ # Web视图
│ │ │ ├── styles/ # 样式定义
│ │ │ ├── utils/ # 工具类
│ │ │ ├── view/ # 视图组件
│ │ │ └── viewmodel/ # 视图模型
│ │ ├── module.json5 # 模块配置
│ │ └── resources/ # 资源文件
│ └── ...
├── common/ # 通用模块
│ ├── src/main/
│ │ ├── ets/
│ │ │ ├── components/ # 通用组件
│ │ │ ├── constants/ # 通用常量
│ │ │ ├── model/ # 数据模型
│ │ │ ├── utils/ # 通用工具
│ │ │ └── video/ # 视频相关功能
│ │ └── ...
├── smartxplayer/ # 播放器模块
│ ├── src/main/
│ │ ├── ets/
│ │ │ ├── helper/ # 播放器辅助类
│ │ │ ├── worker/ # 播放器工作线程
│ │ │ └── ...
│ │ └── ...
├── lib/ # 第三方库
│ └── libwlmedia.har # wlmedia播放库
├── hmKey/ # 签名证书
├── build-profile.json5 # 构建配置
└── hvigorfile.ts # 构建脚本
```
## 使用说明
### 首次使用
1. 启动应用后,阅读并同意隐私政策
2. 添加您的媒体服务器
### 添加 Emby 服务器
1. 进入"服务"标签页
2. 点击右上角"+"按钮
3. 选择 Emby 服务器类型
4. 输入服务器信息:
- 服务器名称(用于区分)
- 服务器地址
- 端口号(默认8096)
- 用户名和密码
- 是否使用HTTPS
5. 测试连接并保存
### 浏览和播放内容
1. 在首页浏览媒体内容
2. 支持按以下方式浏览:
- 分类浏览
- 最新更新
- 播放记录
- 收藏内容
3. 点击内容项目查看详情或开始播放
4. 使用内置播放器控制播放
### 播放功能
- **基本控制**: 播放/暂停、进度调节、音量控制
- **字幕功能**: 字幕开关、字幕选择
- **播放记录**: 自动记录播放进度,支持断点续播
- **播放模式**: 支持单曲循环、列表播放等模式
### 设置选项
- **显示设置**: 明暗主题切换
- **播放设置**: 播放器相关配置
- **服务器管理**: 添加、修改、删除服务器
## 支持的媒体格式
### 视频格式
- MP4, MKV
- H.264, H.265/HEVC 编码
- 支持多种分辨率(720p, 1080p, 4K)
### 字幕格式
- SRT, ASS, SSA, VTT
- 支持多语言字幕
## 开发与构建
### 开发环境要求
- DevEco Studio 5.0 及以上
- HarmonyOS SDK 5.0.4(16) 及以上
- Node.js 环境
### 构建命令
使用DevEco-Studio构建
## 隐私政策
Flymby 重视用户隐私保护,严格遵守相关法律法规,保护用户个人信息安全。
- **数据收集**: 仅收集必要的功能数据
- **数据使用**: 仅用于提供服务功能
- **数据安全**: 采用加密存储和传输
- **联系方式**: freedomnanjing@gmail.com
## 开发者
**ShiJianting**
## 沟通交流
**QQ群:442125481**
**Telegram讨论组: [FlymbyChat](https://t.me/flymby_chat)**
## 特别鸣谢
- [wlmedia](https://github.com/ywl5320/wlmedia) - 赞助本项目的播放器功能
- HarmonyOS社区
- 所有贡献者和测试用户
## 许可证
请参考 LICENSE 文件了解项目许可证信息。
## 联系我们
如有问题或建议,请通过以下方式联系:
- 邮箱:freedomnanjing@gmail.com
- 项目地址:本仓库 Issues 页面