Go to file
imeepos 10177d2501 feat: 为MaterialSegmentView添加视频片段播放功能
视频播放功能:
- 为Eye按钮添加点击播放功能:点击后播放对应的视频片段
- 传递片段参数:文件路径、开始时间、结束时间
- 悬停效果优化:按钮颜色从灰色变为蓝色
- 工具提示:显示'播放视频片段'提示文字

 后端播放命令:
- 新增play_video_segment命令:支持播放指定时间段的视频
- 跨平台播放器支持:
  * Windows: 使用cmd /C start启动默认播放器
  * macOS: 使用open命令启动默认播放器
  * Linux: 使用xdg-open启动默认播放器
- 文件存在性检查:播放前验证视频文件是否存在
- 完善错误处理:播放失败时给出详细错误信息

 系统集成:
- 命令注册:在lib.rs中正确注册play_video_segment命令
- 日志记录:记录播放操作的成功/失败状态
- 参数传递:支持文件路径和时间参数传递

 用户体验:
- 一键播放:点击Eye按钮直接播放视频片段
- 系统默认播放器:使用用户熟悉的播放器应用
- 即时反馈:点击后立即启动播放器
- 视觉提示:按钮状态清楚表达可点击性

 功能特点:
- 智能播放:虽然后端接收时间参数,但使用系统默认播放器播放完整视频
- 跨平台兼容:Windows/macOS/Linux都能正常工作
- 错误恢复:文件不存在或播放器启动失败时有相应提示
- 性能优化:异步播放,不阻塞界面操作

现在用户可以:
1. 点击任意片段的Eye按钮播放对应视频
2. 使用系统默认播放器观看视频内容
3. 享受跨平台一致的播放体验
4. 在播放失败时获得清楚的错误提示

注:当前实现使用系统默认播放器播放完整视频文件,未来可以考虑集成支持时间段播放的专业播放器。
2025-07-15 21:57:58 +08:00
.github/workflows Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
apps/desktop feat: 为MaterialSegmentView添加视频片段播放功能 2025-07-15 21:57:58 +08:00
docs docs: 添加项目一键AI分类功能开发文档 2025-07-14 18:29:28 +08:00
.gitignore Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
Cargo.lock feat: 完善模板导入功能 2025-07-14 21:34:07 +08:00
Cargo.toml Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
HOTFIX_TEST_GUIDE.md hotfix: 修复 Windows 上 FFmpeg/FFprobe 命令行闪现问题 2025-07-13 23:06:22 +08:00
LICENSE add LICENSE. 2025-07-13 09:59:41 +00:00
OPTIMIZATION_PLAN.md feat: 优化模特管理界面UI/UX设计 2025-07-14 10:45:08 +08:00
README.md Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
RELEASE-v0.1.9.md docs: 添加 v0.1.9 发布说明 2025-07-14 18:41:56 +08:00
RELEASE_NOTES_0.1.6.md chore: 发布 v0.1.6 版本 2025-07-14 10:50:17 +08:00
RELEASE_NOTES_v0.1.2.md hotfix: 修复 Windows 上 FFmpeg/FFprobe 命令行闪现问题 2025-07-13 23:06:22 +08:00
RELEASE_NOTES_v0.1.5.md docs: add release notes for v0.1.5 2025-07-14 00:34:07 +08:00
SELECT_COMPONENT_OPTIMIZATION.md feat: 优化模特管理界面UI/UX设计 2025-07-14 10:45:08 +08:00
UI_SIZE_OPTIMIZATION_SUMMARY.md feat: 优化模特管理界面UI/UX设计 2025-07-14 10:45:08 +08:00
UI_UX_OPTIMIZATION_SUMMARY.md feat: 优化模特管理界面UI/UX设计 2025-07-14 10:45:08 +08:00
package.json feat: 添加项目详情/素材管理的MaterialSegment聚合视图功能 2025-07-15 16:49:08 +08:00
pnpm-lock.yaml feat: 添加项目详情/素材管理的MaterialSegment聚合视图功能 2025-07-15 16:49:08 +08:00
pnpm-workspace.yaml Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
tsconfig.json Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00

README.md

MixVideo

🎬 MixVideo - 基于 Tauri 构建的跨平台多媒体处理桌面应用

特性

  • 🚀 跨平台: 支持 Windows、macOS、Linux
  • 高性能: 基于 Rust + Tauri 2.0 构建
  • 🎨 现代界面: React + TypeScript + Vite
  • 🔧 可扩展: 支持多语言微服务架构
  • 📦 多包管理: PNPM Workspace + Cargo Workspace

🏗️ 项目结构

mixvideo/
├── apps/
│   └── desktop/           # Tauri 桌面应用
├── packages/
│   ├── services/          # 微服务 (Python, Rust)
│   └── shared/            # 共享代码和协议
├── tools/                 # 开发工具
└── docs/                  # 文档

🚀 快速开始

环境要求

  • Node.js 18+
  • Rust 1.70+
  • PNPM 8+

安装依赖

pnpm install

开发模式

# 启动桌面应用开发模式
pnpm tauri:dev

# 或者直接在 apps/desktop 目录下
cd apps/desktop
pnpm dev

构建应用

# 构建生产版本
pnpm tauri:build

# 或者在 apps/desktop 目录下
cd apps/desktop
pnpm tauri build

📦 发布

手动发布

  1. 构建应用: pnpm tauri:build
  2. 安装包位置: target/release/bundle/
    • Windows: .msi.exe 安装包
    • macOS: .dmg.app
    • Linux: .deb, .rpm.AppImage

自动发布 (GitHub Actions)

  1. 创建新的 Git 标签:

    git tag v0.1.0
    git push origin v0.1.0
    
  2. GitHub Actions 将自动构建并创建 Release

🛠️ 技术栈

桌面应用

  • 前端: React 18 + TypeScript + Vite
  • 后端: Rust + Tauri 2.0
  • 状态管理: 待定
  • UI 组件: 待定

微服务 (计划中)

  • Python 服务: FastAPI + gRPC
  • Rust 服务: Tonic + gRPC
  • 通信协议: Protocol Buffers

📝 开发指南

推荐 IDE

  • VS Code + 扩展:
    • Tauri
    • rust-analyzer
    • ES7+ React/Redux/React-Native snippets

代码规范

  • Rust: 使用 cargo fmtcargo clippy
  • TypeScript: 使用 ESLint + Prettier
  • Python: 使用 Black + isort + flake8

🤝 贡献

欢迎提交 Issue 和 Pull Request

📄 许可证

MIT License - 详见 LICENSE 文件

👨‍💻 作者

imeepos - GitHub