Seite 1 von 1

slider problem bei mp3s

Verfasst: Montag 2. Januar 2006, 12:54
von pr0stAta
Schönen Tag und ein frohes neues Jahr wünsche ich erstmal ;)
Ich sitze gerade vor einem Problem wobei mir auch nicht
die wx Demo helfen konnte. Ich hab einen Slider der die Position
im Lied angibt. Starte ich ein Lied läuft er mit so wie es sein sollte.
Wenn ich nun allerdings den SLider anklicke springt dieser, wie
in der wx Demo direkt an Ende und beendet das Lied.

Code: Alles auswählen

slider = wx.Slider(self, -1, 0, 0, 0)
self.slider = slider
self.Bind(wx.EVT_SLIDER, self.changePosition, slider)

def changePosition(self, event):
    offset = self.slider.GetValue()
    self.mc.Seek(offset)
Die größe des SLiders wird über eine andere Funktion, die aber wohl unwichtig ist, gegeben.

Verfasst: Dienstag 3. Januar 2006, 13:25
von Francesco
Hallo pr0stAta,

kann ich leider nicht nachvollziehen.
(getestet mit 2.6.1.1, WinXP)

Wenn du diese Datei ins Demo verzeichnis kopierst (z.B. slider1.py),
und von dort aufrufst, kannst du es starten.
Bei mir funktioniert das wie erwartet.

Code: Alles auswählen

import  wx

#----------------------------------------------------------------------

class TestPanel(wx.Panel):
    def __init__(self, parent, log):
        wx.Panel.__init__(self, parent, -1)
        self.log = log
        self.count = 0

        wx.StaticText(self, -1, "This is a wx.Slider.", (45, 15))

        slider = wx.Slider(
            self, 100, 25, 1, 100, (30, 60), (250, -1), 
            wx.SL_HORIZONTAL | wx.SL_AUTOTICKS | wx.SL_LABELS 
            )

        slider.SetTickFreq(5, 1)
        self.slider = slider
        slider.Bind(wx.EVT_SLIDER, self.changePosition, slider)

    def changePosition(self, event):
        offset = self.slider.GetValue() 
        print offset


#----------------------------------------------------------------------

def runTest(frame, nb, log):
    win = TestPanel(nb, log)
    return win

#----------------------------------------------------------------------




overview = """\
A slider is a control with a handle which can be pulled back and forth to 
change the value.

In Windows versions below Windows 95, a scrollbar is used to simulate the slider. 
In Windows 95, the track bar control is used.

"""


if __name__ == '__main__':
    import sys,os
    import run
    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])

Verfasst: Dienstag 3. Januar 2006, 13:33
von pr0stAta
Dein Beispiel läuft bei mir auch perfekt.
Ich meine in diesem Fall auch eher die Media Control Demo,
in der der Slider versagt. Eigentlich sollte man nämlich mit
self.mc.Seek(WERT) ihm dem Wert der aktuellen Slider Position
mitgeben können und er springt dann in die passende Stelle
der Musik Datei.
*edit* Könnte mir vielleicht einer sagen, ob die MediaCtrl Demo
bei ihm einwandfrei funktioniert? D.h. ob man den Slider an die
Position im Lied im schieben kann? Das würde mir schon helfen,
da ich ja wissen muss, ob es an mir liegt oder an wx allgemein :p