【问题标题】:How can I add volume control option and add a playlist in my audio player?如何在我的音频播放器中添加音量控制选项并添加播放列表?
【发布时间】:2026-01-06 09:25:02
【问题描述】:

我正在尝试使用 wxpytohn 创建一个媒体播放器。我想在我的播放器中添加音量控制选项和播放列表选项。

我该怎么办?

这是我的代码:

import wx
import wx.media
class AudioPlayer(wx.Frame):
    def __init__(self,parent,id):
        wx.Frame.__init__(self,parent,id,"Audio Player",size=(400,200))
        panel=wx.Panel(self)
        self.media=wx.media.MediaCtrl(panel)
        b1=wx.Button(panel,-1,'Load',pos=(30,40),size=(60,30))
        b2=wx.Button(panel,-1,'Play',pos=(110,40),size=(60,30))
        b3=wx.Button(panel,-1,'Pause',pos=(180,40),size=(60,30))
        b4=wx.Button(panel,-1,'Stop',pos=(260,40),size=(60,30))
        self.Bind(wx.EVT_BUTTON,self.load,b1)
        self.Bind(wx.EVT_BUTTON,self.play,b2)
        self.Bind(wx.EVT_BUTTON,self.pause,b3)
        self.Bind(wx.EVT_BUTTON,self.stop,b4)

    def load(self,event):
        stl=wx.OPEN
        filedia=wx.FileDialog(self,'open',style=stl)
        if filedia.ShowModal()==wx.ID_OK:
            path=filedia.GetPath()
            self.media.Load(path)

    def play(self,event):
        self.media.Play()
    def pause(self,event):
        self.media.Pause()
    def stop(self,event):
        self.media.Forward()


app=wx.App()
frame=AudioPlayer(None,-1)
frame.Show()
app.MainLoop()

【问题讨论】:

    标签: wxpython


    【解决方案1】:

    您可以使用 wx.Slider 小部件来创建音量控制。您只需要在滑块的事件处理程序中使用其SetVolume 方法设置媒体控件的音量。我在这里写了一个小教程来演示这个概念:

    对于播放列表,我建议使用 ListCtrl 或其兄弟之一。我更喜欢 ObjectListView 而不是 ListCtrl:

    如果您决定走这条路,请确保从此处下载最新版本:

    【讨论】:

      最近更新 更多