MediaPlayer网页播放器 Js源代码下载(很实用)
很久前写的MediaPlayer播放器,当时还写了个换皮肤的播放器,演示地址可以看这里:爱唱久久
播放文件在MediaPlayer1.0.js中设置,var curFile = "media/dg.asf";这一句就是文件路径,var vTitle = "郭德刚相声选";这里设置播放器显示标题。
支持文件格式:音频 mp3、wma; 视频 wmv、asf 、mpg、rm、rmvb等等常见的格式
播放器界面截图:

演示地址:http://www.aspxhome.com/.../mediaplayer.htm
代码下载:mediaplayer.rar(168KB)
相关文章推荐:海浪:LRC歌词在线网页播放
MediaPlayer1.0.js
<!--
var curFile = "media/dg.asf";
var vWidth = 320;
var vHeight = 245;
var vTitle = "郭德刚相声选";
function setMediaPlayerObject(){
if(!$("playerList")) return false;
if(!$("v_info")) return false;
var objHTML = ("<object id='MediaPlayer' codeBase='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 type=application/x-oleobject' width='"+vWidth+"' height='"+vHeight+"' classid=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6 standby='Loading Microsoft? Windows Media? Player components...'>");
objHTML += ("<param name='URL' value='"+curFile+"'");
objHTML += ("<param name='AutoStart' value='1'>");
objHTML += ("<param name='rate' value='1'>");
objHTML += ("<param name='balance' value='0'>");
objHTML += ("<param name='currentPosition' value='0'>");
objHTML += ("<param name='defaultFrame' value=''>");
objHTML += ("<param name='playCount' value='1'>");
objHTML += ("<param name='currentMarker' value='0'>");
objHTML += ("<param name='invokeURLs' value='-1'>");
objHTML += ("<param name='baseURL' value=''>");
objHTML += ("<param name='volume' value='50'>");
objHTML += ("<param name='mute' value='0'>");
objHTML += ("<param name='uiMode' value='none'>");
objHTML += ("<param name='stretchToFit' value='1'>");
objHTML += ("<param name='windowlessVideo' value='0'>");
objHTML += ("<param name='enabled' value='-1'>");
objHTML += ("<param name='enableContextMenu' value='0'>");
objHTML += ("<param name='fullScreen' value='0'>");
objHTML += ("<param name='SAMIStyle' value=''>");
objHTML += ("<param name='SAMILang' value=''>");
objHTML += ("<param name='SAMIFilename' value=''>");
objHTML += ("<param name='captioningID' value=''>");
objHTML += ("<param name='enableErrorDialogs' value='0'>");
objHTML += ("<param name='_cx' value='8467'>");
objHTML += ("<param name='_cy' value='8467'>");
objHTML += ("<param name='AutoSize' value='1'>");
objHTML += ("</object>");
$("playerList").innerHTML = objHTML;
$("v_info").innerHTML = vTitle;
}
setOnloadEvent(setMediaPlayerObject);
//-->
Player1.0.js
<!--
var isPorV = 0;
var fFlag= false;
//drag func
var pFlag = false;
var pZoneWidth = 129;
var infoChange = 1;
var bufferingProgress;
var downloadProgress;
var bitRate;
var currentPositionString;
var mediaTitle;
var itemTitle;
var mediaInfo;
function getOLeft(myObj){
curObj = myObj;
var objLT = curObj.offsetLeft;
while(curObj!=curObj.offsetParent && curObj.offsetParent) {
curObj=curObj.offsetParent;
if(curObj.tagName=="DIV") {
objLT += curObj.offsetLeft;
}
}
return objLT;
}
//truncation string
function trunStr(str) {
if (str.length > 35){
return str.substr(0,35) + "...";
}
else{
return str;
}
}
function toPlay() {
if ($("MediaPlayer").playState != 3) {
if ($("MediaPlayer").controls.isAvailable('Play')) {
$("MediaPlayer").controls.play();
$("Play").src="mediaplayer/lightblue/p_play1.gif";
toDisplay(1);
}
}
else {
toPause();
}
}
function toPause() {
if ($("MediaPlayer").currentMedia.duration > 0) {
infoChange = 1;
$("MediaPlayer").controls.Pause();
$("Play").src="mediaplayer/lightblue/p_play.gif";
}
}
function toStop() {
if ($("MediaPlayer").currentMedia.duration > 0) {
$("MediaPlayer").controls.Stop();
$("Play").src="mediaplayer/lightblue/p_play.gif";
toDisplay(0);
}
}
function toScreen(){
$("MediaPlayer").fullScreen=1;
}
function toMute(){
if($("MediaPlayer").settings.mute){
$("MediaPlayer").settings.mute = false;
$('Mute').src='mediaplayer/lightblue/p_mute.gif';
}
else{
$("MediaPlayer").settings.mute = true;
$('Mute').src='mediaplayer/lightblue/p_mute1.gif';
}
}
function toDisplay(v){
var P=$("playzone").getElementsByTagName("div");
if(v){
P[0].style.display='none';
P[1].style.display='block';
}
else{
P[1].style.display='none';
P[0].style.display='block';
}
}
function mouseDown(objSign) {
isPorV = objSign;
if(isPorV == 0) {
if($("MediaPlayer").currentMedia.duration > 0) {
pFlag = true;
if(window.event.srcElement.id!="pZone") {
$("pBox").style.left = $("pBox").offsetLeft -1;
}
else {
$("pBox").style.left = window.event.x;
}
}
}
else if (isPorV == 1) {
vFlag = true;
//alert($("vBox").offsetLeft);
if(window.event.srcElement.id!="vZone") {
$("vBox").style.left = $("vBox").offsetLeft;
}
else {
$("vBox").style.left = window.event.x;
}
}
}
function mouseMove() {
if(isPorV == 0) {
if($("MediaPlayer").currentMedia.duration > 0) {
if (pFlag)
$("pBox").style.left = window.event.clientX - getOLeft($("pZone")) - 12 +"px";
if (parseInt($("pBox").style.left.replace("px","")) > pZoneWidth)
$("pBox").style.left=pZoneWidth +"px";
if (parseInt($("pBox").style.left.replace("px","")) < -5)
$("pBox").style.left=-5 +"px";
}
} else if (isPorV == 1) {
if(vFlag) $("vBox").style.left = window.event.clientX - getOLeft($("vZone")) - 4 +"px";
if (parseInt($("vBox").style.left.replace("px","")) > 46) $("vBox").style.left = 44 +"px";
if (parseInt($("vBox").style.left.replace("px","")) < 1) $("vBox").style.left = 1 +"px";
if(isPorV==1) {
if (vFlag){
tempVol = (parseInt($("vBox").style.left) - 4)*5.9;
$("MediaPlayer").settings.volume=Math.round(tempVol);
$("MediaPlayer").settings.mute = false;
$('Mute').src='mediaplayer/lightblue/p_mute.gif';
}
}
}
}
function mouseUp() {
if (isPorV == 0) {
if($("MediaPlayer").currentMedia.duration > 0) {
if (pFlag) {
var duration = $("MediaPlayer").currentMedia.duration;
$("MediaPlayer").controls.CurrentPosition=duration * (parseInt($("pBox").style.left)/pZoneWidth);
}
pFlag = false;
}
} else if (isPorV == 1) {
if (vFlag) {
tempVol = (parseInt($("vBox").style.left) -9)*1.7;
$("MediaPlayer").settings.volume=Math.round(tempVol);
}
vFlag = false;
}
}
function mouseEnd() {
window.event.returnValue = false;
}
function OnloadFun() {
mediaInfo = $("mediaInfo");
startdrag();
setInterval("FixPos()", 1000);
}
function startdrag() {
if($("MediaPlayer").currentMedia.duration||(!isNaN($("MediaPlayer").currentMedia.duration))) {
window.document.onmousemove = mouseMove;
window.document.ondragstart = mouseEnd;
window.document.onmouseup = mouseUp;
}
}
function FixPos() {
if ($("MediaPlayer").currentMedia.duration > 0) {
var duration = $("MediaPlayer").currentMedia.duration;
var pos = $("MediaPlayer").controls.CurrentPosition;
if (pos == 0) {
var pBoxPos = Math.round(pos/duration*pZoneWidth)+1;
} else {
var pBoxPos = Math.round(pos/duration*pZoneWidth)+1;
}
if (!isNaN(pBoxPos)) {
$("pBox").style.left = pBoxPos;
}
if($("MediaPlayer").playState == 1) {
$("pBox").style.left = 1;
mediaInfo.innerHTML="<a href='mailto:haixiao_yao@yahoo.com.cn' class='cWhite' target='_blank'>罗伯特工作室</a>,天天都精彩!";
$("Play").src="mediaplayer/lightblue/p_play.gif";
toDisplay(0);
}
bufferingProgress = $("MediaPlayer").network.bufferingProgress;
downloadProgress = parseInt($("MediaPlayer").network.downloadProgress);
bitRate = $("MediaPlayer").network.bitRate;
currentPositionString = $("MediaPlayer").Controls.currentPositionString;
mediaTitle = $("MediaPlayer").currentPlaylist.item(0).getItemInfo("Title");
itemTitle = $("MediaPlayer").currentPlaylist.getItemInfo("Title");
$("mediaTime").innerText =' '+ currentPositionString.toString();
switch($("MediaPlayer").playState) {
case 7: {
mediaInfo.innerText="就绪";
}
break;
case 6: {
if ( parseInt(bufferingProgress) > 0 && parseInt(bufferingProgress) < 100 ) {
mediaInfo.innerText="缓冲:完成 "+bufferingProgress.toString()+"%";
} else {
mediaInfo.innerText="缓冲";
}
}
break;
case 3: {
if ( downloadProgress == 0 ) {
mediaInfo.innerText="正在播放"; }
showPlayInfo();
}
break;
}
}
}
function showPlayInfo() {
if ( infoChange ==1 ) {
if ( downloadProgress < 100 ) {
mediaInfo.innerText="正在播放: "+downloadProgress.toString()+"% 已下载";
}
else {
mediaInfo.innerText="正在播放: "+Math.round(bitRate/1000)+" 千比特/秒";
}
if ( downloadProgress == 0 ) {
mediaInfo.innerText="正在播放";
}
}
if ( infoChange ==4 ) {
mediaInfo.innerText="播放:"+itemTitle.toString();
}
if ( infoChange ==8 ) {
mediaInfo.innerText="剪辑: "+trunStr(mediaTitle).toString();
}
if ( infoChange < 11 ) {
infoChange += 1;
}
else {
infoChange = 1;
}
}
setOnloadEvent(OnloadFun);
//-->