# 音视频播放器 **Repository Path**: zllylgw/audioVideoPlayer ## Basic Information - **Project Name**: 音视频播放器 - **Description**: 使用python开发的本地音视频播放器,还在完善中... - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-10 - **Last Updated**: 2025-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 音视频播放器 这是一个使用Python开发的桌面GUI音视频播放器,支持播放多种音视频格式。 ## 概览 ![概览](images/概览.png) ## 待优化项 文件浏览部分窗口再调大一点 歌曲收藏功能 可以批量添加文件夹 我想要的窗口拖拽效果是: 假设我初始窗口总宽度为100px(此处是假设,而不是窗口的实际宽度,窗口总宽度根据屏幕分辨率和字体大小等因素而变化),举例忽略边框宽度哈,那么,左右侧布局各占50%,即左侧布局50px,右侧布局也是50px。 如果我从右侧往右侧拖拽,表示右侧布局要被拉大,那么结果就是左侧布局固定是50px,右侧布局大于50px,整体宽度应该是100+px。 如果我从右侧往左侧拖拽,表示右侧布局要被拉小,那么结果就是左侧布局固定是50px,右侧布局小于50px,整体宽度应该是50+px。 初始的时候各占50%,拖拽时各占比会发生变化。下次再进入程序时,各占比会保持拖拽时的状态。 反之一样的逻辑 ## 功能特点 - 支持多种音视频格式:MP3、WAV、FLAC、OGG、M4A、AAC、MP4、AVI、MOV、MKV、WMV、FLV、M4V等 - MP3歌词解析:支持LRC文件和ID3标签中的歌词 - 图形界面:简洁直观的操作界面 - 播放控制:播放/暂停、上一首、下一首、音量调节、播放模式切换(顺序播放、单曲循环、随机播放、列表循环) - 进度控制:可拖动进度条调整播放进度 - 多文件夹支持:可以添加多个文件夹,并按文件夹组织和管理歌曲 - 文件夹浏览:通过树状视图查看已添加的文件夹,双击查看文件夹中的歌曲 - 歌曲列表:显示当前文件夹中的所有音频文件,双击播放 ## 安装依赖 在运行程序前,需要安装必要的依赖包。使用以下命令安装: ```bash pip install -r requirements.txt ``` ## 使用方法 1. 安装所有依赖包 2. 运行主程序: ```bash python audio_video_player.py ``` 3. 通过"文件"菜单打开单个音视频文件或整个文件夹 4. 使用界面上的控制按钮进行播放控制 ## 歌词支持 - 对于MP3文件,如果同一目录下存在相同文件名的LRC文件,程序会自动加载 - 程序也会尝试从MP3文件的ID3标签中提取歌词 - 播放时,当前歌词会高亮显示 ## 开发环境 - Python 3.x - pygame:用于音频播放 - mutagen:用于解析音频文件信息和ID3标签 - tkinter:用于创建图形界面 - opencv-python:用于处理视频文件 - numpy:用于视频帧处理 - Pillow:用于视频帧转换为图片 - pywin32:用于Windows平台下的动态音量调节功能 - 字体:SimHei字体,确保中文正常显示 - 图标:使用了系统默认的图标,也可以自定义图标 ## 注意事项 - 程序默认使用SimHei字体确保中文正常显示 - 不同音视频格式的支持可能因系统环境而有所差异 - 如果遇到播放问题,请确保已正确安装所有依赖包 - 视频播放可能需要安装额外的解码器,具体请参考opencv-python的文档 - 视频播放时,可能会遇到解码问题,这可能需要安装额外的视频解码器,如FFmpeg([官网下载](https://www.ffmpeg.org/download.html)) - 视频播放时,可能会遇到视频帧显示问题,这可能需要安装额外的视频解码器,如FFmpeg - 本项目借助ffplay处理视频[github下载ffmpeg](https://github.com/BtbN/FFmpeg-Builds/releases),解压后把bin目录添加到环境变量PATH中 ## 打包 如果需要将程序打包成独立的可执行文件,可使用pyinstaller进行打包。以下是打包命令: ```bash pip install pyinstaller ``` 打包完成后,会在dist目录下生成一个可执行文件,双击即可运行。 ### 直接打包 ```bash pyinstaller --onefile --windowed audio_video_player.py --icon=favicon.ico --name 音视频播放器 ``` ### 使用spec打包 #### 第一步:生成指定名称的.spec文件 ```bash pyi-makespec --onefile --windowed audio_video_player.py --icon=favicon.ico --name 音视频播放器 ``` #### 第二步:在.spec文件内使用shutil拷贝文件到dist目录 ```bash import shutil shutil.copyfile('favicon.ico', '{0}/favicon.ico'.format(DISTPATH)) ``` #### 第三步:打包 ```bash pyinstaller 音视频播放器.spec ```