Click here to Skip to main content
15,891,529 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

 
Generalevent detecting Pin
marcello3d12-Apr-07 23:38
marcello3d12-Apr-07 23:38 
GeneralRe: event detecting Pin
Sabah u Din Irfan18-Apr-07 8:02
Sabah u Din Irfan18-Apr-07 8:02 
QuestionProblem in Mozilla Firebox???? Pin
sri baski3-Apr-07 2:28
sri baski3-Apr-07 2:28 
AnswerRe: Problem in Mozilla Firebox???? Pin
Sabah u Din Irfan3-Apr-07 7:50
Sabah u Din Irfan3-Apr-07 7:50 
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 
yoou can simple update the Play method given in the code. Now pass the URL in the parameter of Play function, and now assign this value to Player.URL in the function. and you will call the Play method ONCLICK event of the specific button by passing the specific URL path. The updated Play function will look like this :>
<br />
 function Play ( theURLPath ) <br />
            {<br />
                    x = Player.playState; <br />
                     if (x == 2) <br />
                     {<br />
                         Player.controls.play(); <br />
                     }<br />
                    else<br />
                    {<br />
                    Player.URL =  theURLPath ; // "sample1.asx";<br />
                 }          <br />
          } 


Sabah u Din Irfan
Software Engineer

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 
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 

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.