搜索:
首页 >> 下载中心 >> JavaScript源码 >> MediaPlayer网页播放器 Js源代码下载(很实用)

MediaPlayer网页播放器 Js源代码下载(很实用)

2008-3-19 作者:海啸 来源:海啸博客 网友评论投递文章

很久前写的MediaPlayer播放器,当时还写了个换皮肤的播放器,演示地址可以看这里:爱唱久久

播放文件在MediaPlayer1.0.js中设置,var curFile = "media/dg.asf";这一句就是文件路径,var vTitle = "郭德刚相声选";这里设置播放器显示标题。

支持文件格式:音频 mp3、wma; 视频 wmv、asf 、mpg、rm、rmvb等等常见的格式

播放器界面截图:

MediaPlayer网页播放器 Js源代码下载(很实用)

演示地址: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);
//-->
站长工具
IP地址/域名归属地查询:
相关文章
loading 请稍等,评论加载中...

学习Asp到Asp之家(Aspxhome.com)

闽ICP备09044667号-4