<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:"Calibri Light";
        panose-1:2 15 3 2 2 2 4 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:3.0cm 2.0cm 3.0cm 2.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DA" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoPlainText"><span lang="EN-US">Hi mate,<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">The fix you provided works perfect. However, if I put it in a class and import, make instance and execute in another file, the audio is not played.
<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">What am I missing? This is what I do:<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><b><span lang="EN-US">FileA.py<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white">class</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">
 WMPlayer():<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">   
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#A31515;background:white;mso-highlight:white">'''<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#A31515;background:white;mso-highlight:white">    @<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#A31515;background:white;mso-highlight:white">    '''</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">   
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:green;background:white;mso-highlight:white">#static var</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">   
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:green;background:white;mso-highlight:white">#first instance is a primary , following are secondary.</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">   
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:green;background:white;mso-highlight:white">#you can have one primary and as many secondary as you like</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">   
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white">def</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"> __init__(self):<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">       
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#A31515;background:white;mso-highlight:white">'''<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#A31515;background:white;mso-highlight:white">        init all attributes<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#A31515;background:white;mso-highlight:white">        '''</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">       
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:green;background:white;mso-highlight:white">#self.mp = Dispatch("WMPlayer.OCX")</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">       
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:green;background:white;mso-highlight:white">#pass</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">               
<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">    </span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white">def</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">
 play_song(self):<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">        mp = Dispatch(</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#A31515;background:white;mso-highlight:white">"WMPlayer.OCX"</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">)<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">        tune = mp.newMedia(</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#A31515;background:white;mso-highlight:white">r"./SleepAway.mp3"</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">)<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">        mp.currentPlaylist.appendItem(tune)<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">        mp.controls.play()<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">        sleep(1)<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">        mp.controls.playItem(tune)<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">        raw_input(</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#A31515;background:white;mso-highlight:white">"Press
 Enter to stop playing"</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">)<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">       
</span><span style="font-size:9.5pt;font-family:Consolas;color:green;background:white;mso-highlight:white">#sleep(5)</span><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"><o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">        mp.controls.stop()</span><span lang="EN-US" style="font-family:"Courier New";color:#2E75B6;mso-style-textfill-fill-color:#2E75B6;mso-style-textfill-fill-alpha:100.0%"><o:p></o:p></span></p>
<p class="MsoPlainText"><b><span lang="EN-US" style="font-family:"Calibri Light","sans-serif""><o:p> </o:p></span></b></p>
<p class="MsoPlainText"><b><span lang="EN-US" style="font-family:"Calibri Light","sans-serif"">FileB.py<o:p></o:p></span></b></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white">from</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">
 wmp.WMPlayer </span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white">import</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">
 *</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span style="font-size:9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white">class</span><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"> sTest(unittest.TestCase):</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">   
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white">def</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"> test_wmplayer(self):<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">        self.wmp = WMPlayer()<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">       
</span><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white">self.wmp.play_song()</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-family:"Courier New";color:#2E75B6;mso-style-textfill-fill-color:#2E75B6;mso-style-textfill-fill-alpha:100.0%"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-family:"Courier New";color:#2E75B6;mso-style-textfill-fill-color:#2E75B6;mso-style-textfill-fill-alpha:100.0%"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-family:"Courier New";color:#2E75B6;mso-style-textfill-fill-color:#2E75B6;mso-style-textfill-fill-alpha:100.0%"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">Best regards / Med venlig hilsen<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">Deogratius Musiige<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">Sennheiser Communications A/S<o:p></o:p></span></p>
<p class="MsoPlainText">Direct                 +45 5618 0320<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><span lang="EN-US" style="mso-fareast-language:DA">-----Original Message-----<br>
From: Python-list [mailto:python-list-bounces+demu=senncom.com@python.org] On Behalf Of Deogratius Musiige<br>
Sent: 6. juni 2014 15:39<br>
To: MRAB; python-list@python.org<br>
Subject: RE: Automating windows media player on win7</span></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Thanks a lot mate. <o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">You just made my day. <o:p></o:p></p>
<p class="MsoPlainText">I have looked around the net but cannot find the controls available.
<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I would like to be able to:<o:p></o:p></p>
<p class="MsoPlainText">- get current playing track<o:p></o:p></p>
<p class="MsoPlainText">- get wmplayer state (playing/paused/stopped)<o:p></o:p></p>
<p class="MsoPlainText">- get the selected sound device<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Thanks a lot<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Br<o:p></o:p></p>
<p class="MsoPlainText">Deo<o:p></o:p></p>
<p class="MsoPlainText">-----Original Message-----<o:p></o:p></p>
<p class="MsoPlainText"><span lang="EN-US">From: Python-list [</span><a href="mailto:python-list-bounces+demu=senncom.com@python.org"><span lang="EN-US" style="color:windowtext;text-decoration:none">mailto:python-list-bounces+demu=senncom.com@python.org</span></a><span lang="EN-US">]
 On Behalf Of MRAB<o:p></o:p></span></p>
<p class="MsoPlainText">Sent: 4. juni 2014 21:23<o:p></o:p></p>
<p class="MsoPlainText">To: <a href="mailto:python-list@python.org"><span style="color:windowtext;text-decoration:none">python-list@python.org</span></a><o:p></o:p></p>
<p class="MsoPlainText">Subject: Re: Automating windows media player on win7<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">On 2014-06-03 09:10, Deogratius Musiige wrote:<o:p></o:p></p>
<p class="MsoPlainText">> Hi guys,<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> I have been fighting with automating wmplayer but with no success.<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> It looks to me that using the .OCX would be the best option. I found
<o:p></o:p></p>
<p class="MsoPlainText">> the code below on the net but I cannot get it to work.<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> I can see from device manager that a driver is started by I get no
<o:p></o:p></p>
<p class="MsoPlainText">> audio out.<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> What am I doing wrong guys?<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> # this program will play MP3, WMA, MID, WAV files via the
<o:p></o:p></p>
<p class="MsoPlainText">> WindowsMediaPlayer from win32com.client import Dispatch<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> mp = Dispatch("WMPlayer.OCX")<o:p></o:p></p>
<p class="MsoPlainText">> tune = mp.newMedia("./plays.wav")<o:p></o:p></p>
<p class="MsoPlainText">> mp.currentPlaylist.appendItem(tune)<o:p></o:p></p>
<p class="MsoPlainText">> mp.controls.play()<o:p></o:p></p>
<p class="MsoPlainText">> raw_input("Press Enter to stop playing")<o:p></o:p></p>
<p class="MsoPlainText">> mp.controls.stop()<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">I've found that adding PlayItem and sleep seems to work:<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">#! python2.7<o:p></o:p></p>
<p class="MsoPlainText"># -*- coding: utf-8 -*-<o:p></o:p></p>
<p class="MsoPlainText">from win32com.client import Dispatch<o:p></o:p></p>
<p class="MsoPlainText">from time import sleep<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">mp = Dispatch("WMPlayer.OCX")<o:p></o:p></p>
<p class="MsoPlainText">tune = mp.NewMedia(r"./plays.wav")<o:p></o:p></p>
<p class="MsoPlainText">mp.CurrentPlaylist.AppendItem(tune)<o:p></o:p></p>
<p class="MsoPlainText">mp.Controls.Play()<o:p></o:p></p>
<p class="MsoPlainText">sleep(1)<o:p></o:p></p>
<p class="MsoPlainText">mp.Controls.PlayItem(tune)<o:p></o:p></p>
<p class="MsoPlainText">raw_input("Press Enter to stop playing")<o:p></o:p></p>
<p class="MsoPlainText">mp.Controls.Stop()<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">--<o:p></o:p></p>
<p class="MsoPlainText"><a href="https://mail.python.org/mailman/listinfo/python-list"><span style="color:windowtext;text-decoration:none">https://mail.python.org/mailman/listinfo/python-list</span></a><o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">--<o:p></o:p></p>
<p class="MsoPlainText"><a href="https://mail.python.org/mailman/listinfo/python-list"><span style="color:windowtext;text-decoration:none">https://mail.python.org/mailman/listinfo/python-list</span></a><o:p></o:p></p>
</div>
</body>
</html>