背景
在日常生活中,我们经常需要管理和播放大量媒体文件。市面上的音频播放器可能功能单一,或者界面复杂。作为一名程序员,我决定使用Python自己打造一个简单yet强大的媒体管理播放器。
C:\pythoncode\new\playsong.py
全部代码
import os
import wx
import json
import pygame
from mutagen.mp3 import MP3
from mutagen.wave import WAVE
class MediaManagerApp(wx.Frame):
def __init__(self):
super().__init__(parent=None, title='媒体文件管理器', size=(800, 600))
# 初始化pygame mixer
pygame.mixer.init()
# 配置文件路径
self.config_path = 'favorites.json'
# 创建面板
panel = wx.Panel(self)
# 垂直布局
main_sizer = wx.BoxSizer(wx.VERTICAL)
# 水平布局用于两个ListBox
list_sizer = wx.BoxSizer(wx.HORIZONTAL)
# 创建ListBox1(所有媒体文件)
wx.StaticText(panel, label='所有媒体文件:')
self.listbox1 = wx.ListBox(panel, style=wx.LB_MULTIPLE)
list_sizer.Add(wx.StaticText(panel, label='所有媒体文件:'), 0, wx.ALL, 5)
list_sizer.Add(self.listbox1, 1, wx.EXPAND | wx.ALL, 5)
# 创建ListBox2(收藏文件)
wx.StaticText(panel, label='收藏文件:')
self.listbox2 = wx.ListBox(panel, style=wx.LB_MULTIPLE)
list_sizer.Add(wx.StaticText(panel, label='收藏文件:'), 0, wx.ALL, 5)
list_sizer.Add(self.listbox2, 1, wx.EXPAND | wx.ALL, 5)
main_sizer.Add(list_sizer, 1, wx.EXPAND)
# 进度条
self.progress_slider = wx.Slider(panel, style=wx.SL_HORIZONTAL | wx.SL_LABELS)
main_sizer.Add(self.progress_slider, 0, wx.EXPAND | wx.ALL, 5)
# 按钮区域
btn_sizer = wx.BoxSizer