Ich habe mir hier - um ein wenig mit wxPython warm zu werden - ein kleines Frame gebastelt welches ein animiertes Gif darstellt sowie einen Hintergrundsound abspielt.
Soweit so gut. Es funktioniert auch alles. Wenn ich nun aber den Quelltext in IDLE öffne, mit F5 starte und irgendwann das Fenster beende wird das Audio File einfach weiter gespielt.
Erst wenn ich in IDLE mixer.quit() eingebe ist ruhe.
Doppelklicke ich die .py Datei (sprich "python datei.py" wird aufgerufen) dann wird auch der Sound sauber beendet.
Nun die Frage. Habe ich in meinem Code etwas vergessen oder liegt es an IDLE, dass der Sound weiterdudelt?
Code: Alles auswählen
#!/usr/bin/env python
import wx
import wx.animate
from pygame import mixer
class LurePanel(wx.Panel):
def __init__(self, parent, id):
wx.Panel.__init__(self, parent, id)
aGifName = "./bg.omg"
aGif = wx.animate.GIFAnimationCtrl(self, id, aGifName)
aGif.Play()
mixer.init()
mixer.music.load('Sp0000.mp3')
mixer.music.play(-1)
def main():
app = wx.PySimpleApp()
frame = wx.Frame(None, -1, "Lure of Temptress - Chooser", size=(640, 420), style=wx.CAPTION | wx.SYSTEM_MENU | wx.MINIMIZE_BOX | wx.CLOSE_BOX )
LurePanel(frame, -1)
frame.Show()
app.MainLoop()
if __name__ == '__main__':
main()
STiGMaTa