Skip to content

chindev2012/TinyPlayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TinyPlayer

一个基于 Wails 框架构建的轻量级桌面视频播放器

📖 项目简介

TinyPlayer 是一个使用现代技术栈开发的跨平台桌面视频播放器:

  • 后端: Go 1.23 + Wails v2.10.2
  • 前端: Svelte + TypeScript + Vite
  • 架构: 前后端分离,原生HTML5视频播放

✨ 功能特性

🎬 视频播放

  • 支持多种视频格式 (MP4, WebM, OGG, MKV, MOV)
  • 原生HTML5视频播放器,确保跨平台兼容性
  • 内置HTTP文件服务器,绕过浏览器本地文件限制
  • 智能缓存控制,确保新文件正确加载

🎮 播放控制

  • 播放/暂停功能
  • 进度条拖拽定位
  • 音量控制和静音
  • 快进/快退 (±10秒)
  • 全屏播放支持

🎨 用户界面

  • 现代化深色主题设计
  • 响应式播放控制栏
  • 平滑动画和过渡效果
  • 鼠标悬停自动显示/隐藏控制栏
  • 加载状态提示

🖥️ 桌面体验

  • 跨平台支持 (Windows, macOS, Linux)
  • 原生桌面应用体验
  • 自定义应用图标
  • 热重载开发支持

🛠️ 技术架构

┌─────────────────┐    ┌─────────────────┐
│   前端 (Svelte)  │    │   后端 (Go)     │
│                 │    │                 │
│ • UI 组件       │◄──►│ • 文件选择      │
│ • 播放控制      │    │ • HTTP 服务器   │
│ • 状态管理      │    │ • 跨平台支持    │
└─────────────────┘    └─────────────────┘
         │                       │
         └───────────────────────┘
              Wails 桥接

🚀 快速开始

环境要求

  • Go 1.23+
  • Node.js 16+ (推荐 LTS 版本)
  • Wails CLI v2.10.2

安装依赖

  1. 安装 Wails CLI

    go install github.com/wailsapp/wails/v2/cmd/wails@v2.10.2
  2. 克隆项目

    git clone <repository-url>
    cd TinyPlayer
  3. 安装前端依赖

    npm install

开发模式

启动开发服务器(支持热重载):

wails dev

这将启动:

  • Go 后端服务
  • Vite 前端开发服务器
  • 自动打开桌面应用窗口
  • 浏览器调试地址: http://localhost:34115

构建发布

构建生产版本:

wails build

生成带签名的发布包:

wails build -p

📁 项目结构

TinyPlayer/
├── app.go                 # Go 后端主要逻辑
├── main.go               # Go 程序入口
├── wails.json            # Wails 项目配置
├── go.mod               # Go 模块依赖
├── build/               # 构建资源
│   ├── appicon.png      # 应用图标
│   ├── windows/         # Windows 特定文件
│   └── darwin/          # macOS 特定文件
└── frontend/            # 前端源码
    ├── src/
    │   ├── App.svelte   # 主要 UI 组件
    │   └── style.css    # 样式文件
    ├── wailsjs/         # Wails 生成的绑定代码
    ├── vite.config.ts   # Vite 配置
    └── package.json     # 前端依赖

🎯 使用方法

  1. 启动应用

    • 运行构建后的可执行文件
    • 或在开发模式下运行 wails dev
  2. 导入视频文件

    • 点击界面中的"打开文件"按钮
    • 或使用控制栏中的文件夹图标
    • 选择支持的视频文件格式
  3. 播放控制

    • 点击播放按钮开始播放
    • 使用进度条控制播放位置
    • 调节音量或静音
    • 使用快进/快退按钮
    • 双击进入全屏模式

🔧 自定义配置

更换应用图标

  1. 使用提供的图标生成工具:

    # 打开浏览器图标生成器
    start build/icon-generator.html
  2. 或手动替换:

    • 准备 256x256 的 PNG 图标
    • 替换 build/appicon.png
    • 重新构建应用

支持的视频格式

  • MP4 (推荐)
  • WebM
  • OGG
  • MKV
  • MOV

🐛 问题排查

常见问题

Q: 视频无法播放

  • 确保文件格式受支持
  • 检查文件是否损坏
  • 查看控制台输出的错误信息

Q: 导入新文件后还是播放旧文件

  • 这个问题已通过唯一URL生成和缓存控制解决
  • 如果仍有问题,请重启应用

Q: 控制栏被遮挡

  • 确保窗口大小足够
  • 控制栏会在底部留有适当间距

开发调试

在开发模式下,可以通过浏览器访问 http://localhost:34115 进行调试,并在开发者工具中查看详细日志。

🤝 贡献

欢迎提交 Issue 和 Pull Request 来改进 TinyPlayer!

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🙏 致谢

  • Wails - 强大的 Go + Web 桌面应用框架
  • Svelte - 现代化的前端框架
  • Vite - 快速的前端构建工具
  • Lucide - 美观的图标库

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published