[問題] wxMediaCtrl
小弟最近在用wxpython寫播影音的東西
但有些地方很奇怪
下面的碼是個非常簡單的播放器
(ref: http://www.python-forum.org/pythonforum/viewtopic.php?f=2&t=10354)
# -*- coding: utf_8 -*-
import wx
import wx.media
import time
class MyFrame(wx.Frame):
def __init__(self, parent, mytitle, mysize):
wx.Frame.__init__(self, parent, wx.ID_ANY, mytitle, size=mysize)
self.mc = wx.media.MediaCtrl(self, style=wx.SIMPLE_BORDER)
loadButton = wx.Button(self, wx.ID_ANY, "Load File")
self.Bind(wx.EVT_BUTTON, self.onLoadFile, loadButton)
playButton = wx.Button(self, wx.ID_ANY, "Play")
self.Bind(wx.EVT_BUTTON, self.onPlay, playButton)
sizer = wx.GridBagSizer(vgap=5, hgap=5)
sizer.Add(loadButton, pos=(1,1))
sizer.Add(playButton, pos=(4,1))
sizer.Add(self.mc, pos=(5,1), span=(7,3))
self.SetSizer(sizer)
def onLoadFile(self, evt):
self.mc.Load("test.mpg")
#time.sleep(0.5)
#self.onPlay(evt)
def onPlay(self, evt):
self.mc.Play()
app = wx.App(0)
mytitle = "Video"
MyFrame(None, mytitle, (500, 500)).Show()
app.MainLoop()
在同目錄下有test.mpg的影片檔
播影片時先按load 再按play 再把視窗放大就可以看到
但是如果我在onLoadFile函數下加一行self.mc.Play()
預測是可以按load再放大視窗就能播了
不過卻沒反應 一定要按play鈕才可以
原本猜跟時間有關
但把
#time.sleep(0.5)
#self.onPlay(evt)
這兩行的註解拿掉也沒用
還是要靠按鈕來按
請問這是什麼原因??
感謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.140.149
推
01/16 21:24, , 1F
01/16 21:24, 1F
→
01/16 21:25, , 2F
01/16 21:25, 2F
→
01/16 22:37, , 3F
01/16 22:37, 3F
→
01/16 23:13, , 4F
01/16 23:13, 4F
→
01/16 23:14, , 5F
01/16 23:14, 5F
→
01/16 23:14, , 6F
01/16 23:14, 6F
推
01/17 09:08, , 7F
01/17 09:08, 7F
→
01/17 11:38, , 8F
01/17 11:38, 8F