Click here to Skip to main content
15,892,005 members
Articles / Programming Languages / Javascript

Embedded Media Player with hot key controls and adding play list capability (ASX file)

Rate me:
Please Sign up or sign in to vote.
2.50/5 (14 votes)
25 Nov 2006CPOL2 min read 164.9K   1.5K   19   46
How to add Windows Media Player in your web site. Adding play list capability and activation of Hot Key controls.

Sample Image - myrshewmp.jpg

Introduction

This is a simple example that will elaborate how to embed the Windows Media Player in your web pages. And I will explain how to make a play list (ASX file) that you can use to play in the Embedded Windows Media Player. I have also implemented the functionality of Hot Keys that you can use from your keyboard.

Making a Playlist (ASX File)

What is an ASX file? It is a Windows Media container file. ASX is a metafile that provides information about media files, including descriptions of multimedia content, and contains the URLs for the streams. This will enable you to add more than one song on your Embedded Media player. You can use it to create a play list for both your audio and video files.

  • Open MS Notepad
  • Copy and paste the code below in Notepad [Ctrl+c - Ctrl+v]
  • ASP.NET
    <ASX  Version="3.0">
       <title>NAME  OF MUSIC LIST</title>
       <entry>
       <title>NAME  OF SONG</title>
       <author>NAME OF ARTIST</author>
       <Ref href="THE URL OF THE MUSIC/VIDEO FILE"/>
       </entry> 
    </asx>
  • Replace NAME OF MUSIC LIST with the name of the music list. [E.g., My Playlist or My Songs].
  • Replace NAME OF SONG and NAME OF ARTIST with what they say. [E.g., aab k humbichre, Mehdi Hasan].
  • Now replace THE URL OF THE MUSIC/CIDEO FILE with the URL of the song/video. You can host your songs on many hosting services and get the URL or the www address.
  • Also, you can Google for videos or audio files already on the internet and get the URL.
  • To add more songs to the play list, copy the code from <entry> to </entry> and make the necessary changes in the URL and names of songs.
  • Save the file [on Notepad] as “sample.asx”.
  • Upload this file "sample.asx" to a hosting service.
  • You are done!!
  • It is necessary that you carry out each step carefully. It worked for me, and it should do for you too. Any easier than this and it will lose its essence.

Using the Code

After making your ASX play list, the next step is to place the following code in your web page by using any of the editors.

Place the following code in your head section of the HTML page:

JavaScript
<SCRIPT>
<!--
        var WMState = new Array();
        WMState[0]  = "Undefined"; 
        WMState[1]  = "Stopped"; 
        WMState[2]  = "Paused"; 
        WMState[3]  = "Playing"; 
        WMState[4]  = "Scan Forward"; 
        WMState[5]  = "Scan Reverse"; 
        WMState[6]  = "Buffering"; 
        WMState[7]  = "Waiting"; 
        WMState[8]  = "Media Ended"; 
        WMState[9]  = "Transitioning"; 
        WMState[10] = "Ready"; 
        WMState[11] = "Reconnecting";

        function Status () {
            x = Player.playState; 
            alert("Windows Media Player is " + WMState[x] + "\r\r" + 
                  "Player Version:" + Player.versionInfo);
        } 
        function Play () {
            x = Player.playState;
            if (x == 2) {
                Player.controls.play();
            } else {
                Player.URL = "sample1.asx";
            }          
        }
        function Pause () {
            Player.controls.pause();          
        } 
        function Stop () {
            Player.controls.stop();
        }
        function MuteMe () {
            x = Player.settings.mute;
            if (x == 0) {
                Player.settings.mute = "1";
            } else {  
                Player.settings.mute = "0"; 
            } 
        } 
        function UnMuteMe () { 
            Player.settings.mute = "0"; 
        } 
        function VolumeUp () { 
            X = Player.settings.volume; 
            Player.settings.volume = X + 10;      
        }
        function VolumeDown () {
            X = Player.settings.volume; 
            Player.settings.volume = X - 10; 
        }
-->
</SCRIPT>

And then place the following code in the body tag of the HTML page:

HTML
<OBJECT  ID="Player" width="320" height="300" 
         CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
  <PARAM name = "Volume"  value="50">
  <PARAM name = "AutoStart"  value="True">
</OBJECT>
<BR><BR> 
<INPUT TYPE="BUTTON" NAME="BtnPlay"    VALUE="Play"     accesskey=p  OnClick="Play()"> 
<INPUT TYPE="BUTTON" NAME="BtnPause"   VALUE="Pause"    accesskey=p  OnClick="Pause()"> 
<INPUT TYPE="BUTTON" NAME="BtnStop"    VALUE="Stop"     accesskey=s  OnClick="Stop()"> 
<INPUT TYPE="BUTTON" NAME="BtnMute"    VALUE="Mute"     accesskey=m  OnClick="MuteMe()"> 
<INPUT TYPE="BUTTON" NAME="BtnUnMute"  VALUE="UnMute"   accesskey=m  OnClick="UnMuteMe()"> 
<INPUT TYPE="BUTTON" NAME="BtnVolUp"   VALUE="VolUp"    accesskey=u  OnClick="VolumeUp()"> 
<INPUT TYPE="BUTTON" NAME="BtnVolDown" VALUE="VolDown"  accesskey=z  OnClick="VolumeDown()">

And that’s it. You are done!

Note: CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" is the ID for the version of the media player that will be embedded. You can change it according to the version you are using.

Hot Keys for this Embedded Media Player

  • Alt+P --> Play
  • Alt+P --> Pause
  • Alt+M --> Mute
  • Alt+M --> Unmute
  • Alt+U --> Volume up
  • Alt+Z --> Volume down

History

I will try to keep a running update of any changes or improvements. Thanks.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralRe: Problem in Mozilla Firebox???? Pin
sri baski6-Apr-07 0:34
sri baski6-Apr-07 0:34 
QuestionOne question regarding embedded video Pin
Esstay26-Mar-07 0:50
Esstay26-Mar-07 0:50 
AnswerRe: One question regarding embedded video Pin
Sabah u Din Irfan27-Mar-07 9:31
Sabah u Din Irfan27-Mar-07 9:31 
GeneralRe: One question regarding embedded video Pin
Sabah u Din Irfan27-Mar-07 9:46
Sabah u Din Irfan27-Mar-07 9:46 
GeneralRe: One question regarding embedded video Pin
Esstay29-Mar-07 22:43
Esstay29-Mar-07 22:43 
QuestionI am a 'Dummy' Pin
BigKevSter25-Mar-07 0:56
BigKevSter25-Mar-07 0:56 
QuestionLink to any point within the Embedded Player Pin
Topsey Krits12-Mar-07 5:52
Topsey Krits12-Mar-07 5:52 
Generalbrilliant script just a quick question... Pin
bigbobed21-Feb-07 5:49
bigbobed21-Feb-07 5:49 
Hi Sabah,
This is amazing, I've been looking everywhere for more details on how to use Javascript to control windows media player.
I'm quite a novice when it comes to javascript as i mainly use php/mysql myself but can understand everything thats going on with the above code etc as its all quite similar at the end of the day, my problem is due to my limited knowledge of Javascript I'm stuck.

What I'd like to do is get the "function Status" to write to the page to tell the user whats going on, i.e weather its buffering or playing or stopped etc and need it to update every time the state changes but can't work out how to do this with the knowledge of Javascript I've got.

I'm half managed to botch a way of writing it to the page using document.write. but don't know enough to get it to update on every state change etc, i know its kinda cheeky asking but would you be able to give me an example or point me to a tutorial that might help me write this code?

Thank you very much for any help you can offer.
Cheers
Ed

Big Grin | :-D
Generalproblems.... Pin
DaTaddd9-Feb-07 13:28
DaTaddd9-Feb-07 13:28 
GeneralRe: problems.... Pin
Sabah u Din Irfan12-Feb-07 9:50
Sabah u Din Irfan12-Feb-07 9:50 
QuestionNot working in IE7? Pin
robertwertheim26-Jan-07 5:29
robertwertheim26-Jan-07 5:29 
AnswerRe: Not working in IE7? Pin
Sabah u Din Irfan26-Jan-07 9:39
Sabah u Din Irfan26-Jan-07 9:39 
GeneralAnother Embeded player in Web Browser Pin
Sabah u Din Irfan25-Jan-07 5:22
Sabah u Din Irfan25-Jan-07 5:22 
GeneralASX list and player Pin
gary711-Dec-06 5:16
gary711-Dec-06 5:16 
GeneralRe: ASX list and player Pin
Sabah u Din Irfan11-Dec-06 10:34
Sabah u Din Irfan11-Dec-06 10:34 
GeneralRe: ASX list and player Pin
Sabah u Din Irfan11-Dec-06 10:40
Sabah u Din Irfan11-Dec-06 10:40 
GeneralRe: ASX list and player Pin
gary711-Dec-06 17:02
gary711-Dec-06 17:02 
GeneralRe: ASX list and player Pin
Sabah u Din Irfan12-Dec-06 9:26
Sabah u Din Irfan12-Dec-06 9:26 
GeneralRe: ASX list and player Pin
gary713-Dec-06 4:07
gary713-Dec-06 4:07 
GeneralRe: ASX list and player Pin
Sabah u Din Irfan20-Dec-06 12:15
Sabah u Din Irfan20-Dec-06 12:15 
GeneralRe: ASX list and player Pin
donsepeda1-Feb-07 15:49
donsepeda1-Feb-07 15:49 
GeneralRe: ASX list and player Pin
Sabah u Din Irfan12-Feb-07 9:51
Sabah u Din Irfan12-Feb-07 9:51 
QuestionDifferent Windows Media Player Pin
Meghan085417-Apr-08 4:47
Meghan085417-Apr-08 4:47 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.