Skip to content
Seamless music for your website. Supports HTML5/Flash on MP3, Youtube, SoundCloud, RSS Playlist.
Branch: github
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
css tweak item padding May 10, 2013
js tweak color Apr 6, 2013
skins Merge ../scm.core into github Apr 30, 2013
swf Fix Markdown parsing error on Jun 5, 2017
config.js tweak config Apr 5, 2013
icon.png update icon Apr 5, 2013
index.html add readme and redirector Oct 13, 2012
scm.html Also escape plain single quotes Sep 8, 2018

SCM Music Player


SCM Music Player is a free and open source web music player, that brings a seamless music experience to your website:

  • Continous Playback Cross Pages - Seamless playback throughout your website.
  • Full Featured Control - Play, pause, next, previous, seek, shuffle, repeat mode, volume and more.
  • Custom Skins - Match your look and feel. Choose or design your own skin with CSS.
  • Dynamic Playlist - Music from various sources: MP3, SoundCloud, Youtube, RSS in HTML5 or Flash.
  • Flexible UI - Dockable player on top or bottom. Playlist can be toggled.
  • Setup Wizard - Create your SCM Music Player without any pain.

This is the Github repository of SCM Music Player. You can fork my source code, report issues or feature request.


Normally you don't need to download anything to use SCM Music Player. Just go to and get the script via Setup Wizard. But if you want to self host or customize the source code, it is free to do so under the GNU General Public License.

To start with, place files into your server, run index.html and you will be redirected to the Setup Wizard, configured for your self hosted SCM Music Player.


SCM Music Player provides full featured control on your music. Apart from Setup Wizard, you can also control SCM Music Player via Javascript. The script exposes SCM to global scope with the following methods.

Plays the current song.


Pause the currently playing song.


Loads the previous song in playlist.;

Loads the next song in playlist.


Queue a song title x url y to the playlist.{title:'x',url:'y'});

Add a song title x url y to the playlist and play it.


Sets the volume. Accepts an integer vol between 0 and 100.'x');

Change skin of SCM Music Player, with x being the link to a custom skin css file.


Change placement of the player bar. Accepts a string pos "top" or "bottom"


Loads the specified playlist url x.

SCM.loadPlaylist([{title:'x1',url:'y1'}, {title:'x2',url:'y2'}, ...]);

Loads the specified list of songs with their title and url respectively.


Set the repeat mode of playlist. Accepted values of no are: 0 (play playlist once), 1 (repeat playlist), 2 (repeat item).


Set whether playback order should be shuffled. Accepts a boolean x true or false.


Set whether playlist is being shown. Accepts a boolean x true or false.


SCM Music Player is made possible with these open source projects:

  • Soundmanager 2 - Javascript Sound API supporting HTML5 and Flash.
  • Knockout.js - Javascript MVVM framework does data binding and dependency tracking.
  • Require.js - Javascript Module loader using AMD (Asynchronous Module Definition).
  • Underscore.js - Javascript utility library.
  • jQuery.


Copyright 2015 Adrian C Shum

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You can’t perform that action at this time.