Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!news.tele.dk!feed118.news.tele.dk!news.tele.dk!small.news.tele.dk!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.004 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; '-*-': 0.07; 'utf-8': 0.07; 'coding:': 0.09; 'tune': 0.09; '"current': 0.16; 'from:addr:mrabarnett.plus.com': 0.16; 'from:addr:python': 0.16; 'from:name:mrab': 0.16; 'message-id:@mrabarnett.plus.com': 0.16; 'received:192.168.1.4': 0.16; 'received:84.93': 0.16; 'received:84.93.230': 0.16; 'subject:media': 0.16; 'subject:windows': 0.16; 'wrote:': 0.18; 'looked': 0.18; 'bit': 0.19; 'seems': 0.21; 'import': 0.22; 'print': 0.22; 'header:User- Agent:1': 0.23; 'certain': 0.27; 'header:In-Reply-To:1': 0.27; 'skip:( 20': 0.30; 'python2.7': 0.31; 'skip:m 30': 0.32; 'device': 0.34; 'skip:d 20': 0.34; 'received:84': 0.35; 'but': 0.35; 'controls': 0.36; 'thanks': 0.36; 'actions': 0.38; 'skip:m 40': 0.38; 'skip:[ 10': 0.38; 'whatever': 0.38; 'to:addr:python-list': 0.38; 'track': 0.38; 'short': 0.38; 'to:addr:python.org': 0.39; 'how': 0.40; 'name': 0.63; 'day.': 0.63; 'sound': 0.68; 'subject:player': 0.84 X-CM-Score: 0.00 X-CNFS-Analysis: v=2.1 cv=M67DKkAs c=1 sm=1 tr=0 a=0nF1XD0wxitMEM03M9B4ZQ==:117 a=0nF1XD0wxitMEM03M9B4ZQ==:17 a=0Bzu9jTXAAAA:8 a=1oDRhzKAKukA:10 a=BYohrxl6zIYA:10 a=ihvODaAuJD4A:10 a=IkcTkHD0fZMA:10 a=EBOSESyhAAAA:8 a=k4id8PDa5Q3dZMe-500A:9 a=QEXdDO2ut3YA:10 X-AUTH: mrabarnett:2500 Date: Sun, 08 Jun 2014 00:02:13 +0100 From: MRAB User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: python-list@python.org Subject: Re: Automating windows media player on win7 References: <538F7219.2020705@mrabarnett.plus.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 57 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1402182142 news.xs4all.nl 2838 [2001:888:2000:d::a6]:52872 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:72934 On 2014-06-06 14:39, Deogratius Musiige wrote: > Thanks a lot mate. > > You just made my day. > I have looked around the net but cannot find the controls available. > > I would like to be able to: > - get current playing track > - get wmplayer state (playing/paused/stopped) > - get the selected sound device > [snip] Here's a bit more. Note how it seems to need short sleeps after certain actions (I don't know why!): #! python2.7 # -*- coding: utf-8 -*- import pywintypes from win32com.client import Dispatch from time import sleep tunes = ["./plays.wav", "./plays.wav", "./plays.wav"] # Whatever mp = Dispatch("WMPlayer.OCX") for name in tunes: tune = mp.NewMedia(name) mp.CurrentPlaylist.AppendItem(tune) mp.Controls.Play() sleep(0.25) for i in range(len(tunes)): print "Current tune is", mp.Controls.CurrentItem.Name print 'Playing current tune' mp.Controls.PlayItem(mp.Controls.CurrentItem) print 'mp.Status says', mp.Status sleep(5) print 'Pausing' mp.Controls.Pause() print 'mp.Status says', mp.Status sleep(2) print 'Resuming' mp.Controls.Play() print 'mp.Status says', mp.Status sleep(5) mp.Controls.Next() sleep(0.25) mp.Controls.Stop()