How To: Control Windows Media Player

The question has come up a couple of time in various forum threads about how to control the Media Player. We have learned many things about how to control the Media Player through these threads, so it's time we make a tutorial.

One caveat is that when we talk about the Media Player, we are referring to the Desktop Media Player version, not the "funky" Windows 8 app Media Player.

*With all code examples, change the path and file name of directories as needed!

First, Windows Media Player by design is limited in the commands it can accept via a command line option, and this is really the fundamental way to control an application like the Media Player in Windows. Microsoft explains what is available: https://support.microsoft.com/en-us/kb/241422

Second, we learned that you can't directly launch Media Player or a Play List from a Script in EZ-Builder without using a batch file. (The Batch file would include the instructions to open Media Player or a Play List.)

Third, we learned you can call music file to play directly in EZ-Builder without placing the sound file in a SoundBoard:

Code:

PlayAudio(d:\Music\ACDCBallBreaker\BurninAlive.mp3")

Forth, we learned you can call a Video File and it will automatically open in Media Player if that is set as your default player:

Code:

Exec("D:\Movies\StarWars.wmv")

Fifth, we learned there is a method for granular control of the alternative media player called "WinAmp" using another 3rd party application control "CLEver". This thread discusses that method.

Sixth, we learned how we can control Windows Media Player to play a play list, stop, play, pause, next track, previous track, mute, unmute, volume up, volume down and close by using a combination of built in Script functions, Batch (.bat) files and PowerShell (.ps1) script files.

Batch files are a long time standard of Windows and dates back to DOS as a method to automate and script basic functions in the OS.

PowerShell is scripting language from Microsoft which is free and comes packaged with Windows7 and 8.x. It utilizes .Net framework and is used in the IT profession to help manage windows systems. It can be a powerfull and easy way to add external controls to EZ-Builder that EZ-Builder does not currently include.

To open a Play List with Media Player, you need to create a play list under Windows Media Player, then create a short cut file (.lnk) of the play list. EZ-Builder can use this to launch the play list. Use this EZ-Builder Script:

Yes you need to modify all paths in the .bat batch files. Trying opening the Powershell ise, like I show in the video and try running the mute unmute script directly in Powershell. If you get an error message please screen shot and share it.

Ok, that is for next track, that is cool. This is something others might see as well if you try to run the script directly from PowerShell as the execution policy is often set to a restrictive setting by default. If you click on the "Untitled1.ps1" tab or click File/New for a new tab, enter in the follow and click Run in PowerShell:

Code:

get-executionpolicy

This will probably return "Restricted". Clear that code out or open a new file/tab and enter and run the following code in PowerShell:

Code:

Set-ExecutionPolicy -RemoteSigned CurrentUser

This sets the Execution Policy to allow you to run PowerShell scripts in PowerShell. This should work as long as your user account is set to have administrator rights. After you run that, clear it out and enter and run the following:

Code:

get-executionpolicy

This should return "RemoteSigned"

This process replicates what is in the Batch file (.bat) to run the PowerShell script. If we look at the Batch file named: NextTrackMediaPlayer.bat we see this code:

Code:

The first part of the code tells the batch file to use PowerShell with the Execution Policy of RemoteSigned, which if you ran the code above you now have RemoteSigned policy setting in PowerShell directly.

Code:

powershell -ExecutionPolicy RemoteSigned -File

The second part of the batch file is what you need to change to reflect your path for the PowerShell script and from your screen shot it looks like your total script in the Batch file should be this: