Python模块wx不播放音频音效
在我的程序里,我想随机播放一些声音。但是问题是,我听不到这些声音。我没有收到错误提示之类的,只是听不到声音。谢谢大家的帮助。如果我的英语不好,请见谅。这里是我的代码:
import Tkinter as tk
import random
import wx
class SampleApp(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
self.state("zoomed")
container= tk.Frame(self)
container.config()
container.pack(side="top", fill="both", expand=True)
container.grid_rowconfigure(0, weight=2)
container.grid_columnconfigure(0, weight=1)
self.frames={}
for F in (fenster, fensta):
frame= F(container, self)
self.frames[F]=frame
frame.grid(row=0, column=0, sticky="nsew")
frame.pack_propagate(0)
self.show_frame(fenster)
def show_frame(self, c):
frame=self.frames[c]
frame.tkraise()
class fenster(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
button=tk.Button(self, text="Start",
command=lambda: controller.show_frame(fensta))
button.pack()
class fensta(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
def ok():
def do_a():
def __init__(self, parent):
wx.Frame.__init__(self, parent)
self.test = wx.Sound('ja.wav')
self.test.Play(wx.SOUND_SYNC)
print("a")
def do_b():
def __init__(self, parent):
wx.Frame.__init__(self, parent)
self.testa = wx.Sound('nein.wav')
self.testa.Play(wx.SOUND_SYNC)
print("b")
a=random.randint(1,2)
if a==1:
do_a()
elif a==2:
do_b()
button=tk.Button(self, text="press", command=ok)
button.pack()
if __name__== "__main__":
app=SampleApp()
app.mainloop()
2 个回答
0
要测试你的wxPython是否有问题,可以使用系统中应该已经安装的声音示例代码。
如果你用这个示例代码没有声音,那说明wxPython确实有问题。在某些Linux系统上会出现一些问题,你需要手动重新编译它,并开启声音支持才能输出声音。
如果声音示例正常工作,那你的问题可能是因为你在同一个程序中混用了tk和wx。这样做有什么特别的原因吗?
1
你不能把wxPython和Tkinter混在一起用。