Pythoncom scripting Windows Media Player & visible
Stefan Schukat
SSchukat at dspace.de
Wed Aug 3 02:44:40 EDT 2005
Hello,
you have to put the ocx in a container window (e.g. a dialog or the IE).
Without this the media player just acts like a normal COM object.
Example for the dialog you can find in
[Pythonroot]\Lib\site-packages\pythonwin\pywin\Demos\ocx
Bye
Stefan
> -----Original Message-----
> From: python-list-bounces+sschukat=dspace.de at python.org
> [mailto:python-list-bounces+sschukat=dspace.de at python.org] On
> Behalf Of Bill Eldridge
> Sent: Tuesday, August 02, 2005 6:15 PM
> To: python-list at python.org
> Subject: Pythoncom scripting Windows Media Player & visible
>
>
> 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
>
The "Leading Manufacturing Test Company of the Year 2005"
http://www.dspace.de/goto?f_s_award
More information about the Python-list
mailing list