I'm trying to make Windows Media Player visible and control it from Python. It seems when I call it below, I get only the console version, and there's no Visible method like with Internet Explorer. I do catch events, but I need it visible. Should it be put into a panel instead? Should a different type dispatch be called or a different method? it seems that there are a console and a windows classes in the COM browser, but I can't seem to access any useful windows classes. I get "fullScreen" as False, but can't set it. openPlayer(address) will launch a visible window, but with no control of the the window after that.
Ideas? from win32com.client import Dispatch,DispatchWithEvents class WMPEvents: def OnVisible(self,evt): print "OnVisible changed:",evt def OnError(self,evt=None): print "OnError",evt def OnMediaError(self,evt=None): print "OnMediaError",evt def OnDisconnect(self,evt): print "OnDisconnect",evt def OnStatusChange(self): print "OnStatusChange" def OnDisconnect(self,evt): print "Disconnect",evt def OnBuffering(self,evt): print "OnBuffering changed:",evt def OnOpenStateChange(self,evt=None): print "OnOpenStateChange" ,evt mp = DispatchWithEvents("WMPlayer.OCX.7",WMPEvents) mp.Visible = True # Does nothing tune = mp.newMedia("C:/WINDOWS/system32/oobe/images/title.wma") mp.currentPlaylist.appendItem(tune) mp.controls.playItem(tune) mp.controls.play() raw_input("Press enter to stop playing") mp.controls.stop() -- http://mail.python.org/mailman/listinfo/python-list