var playerObj; var volumeVal; //音量 var flag = 0; // 进度条类别(0 表示设置的是视频进度,1表示设置音量) var isTimeSeeking = false; // 是否是进度跳转 var timeEvtFlag = false; // 视频进度调节事件类型标识 var volumeEvtFlag = false; // 声音调节事件类型标识 //获取对象的在文档中的x坐标,用于播放进度条的控制和音量的控制 function getObjLeftPos(obj) { var objPosLeft = obj.offsetLeft; while (obj.offsetParent && obj != obj.offsetParent) { obj = obj.offsetParent; if (obj.tagName == "div") { objPosLeft += obj.offsetLeft; } } return objPosLeft; } // 播放 or 暂停 function togglePlay() { if(playerObj.getDuration() < 1){ return; } if (playerObj.getPlayState() !=3) { // 如果不是播放状态 startPlay(); } else if (playerObj.getPlayState() !=2){ // 如果不是暂停状态 pausePlay(); } } // 播放 function startPlay() { playerObj.play(); updatePlayUI(); } // 暂停 function pausePlay() { playerObj.pause(); updatePauseUI(); } //如果播放,更改信息的外观 function updatePlayUI(){ } //如果暂停,更改信息的外观 function updatePauseUI(){ } //停止 function stopPlay() { if(playerObj.getDuration() < 1){ return; } playerObj.stop(); m_onIdle(); } // 快进 function goFastForward() { if(playerObj.getDuration() < 1){ return; } var currTime = playerObj.getCurrentTime(); var totalTime = playerObj.getDuration(); if((totalTime-currTime) > 15){ currTime += 15; } else { currTime = totalTime - currTime; } playerObj.setCurrentTime(currTime); } // 快退 function goFastBack() { if(playerObj.getDuration() < 1){ return; } var currTime = playerObj.getCurrentTime(); if(currTime >= 15){ currTime -= 15; } else { currTime = 0; } playerObj.setCurrentTime(currTime); } //声音开/关 function toggleSound() { if(playerObj.getDuration() < 1){ return; } if (playerObj.getMute()) { playerObj.setMute(false); updateOnMuteUI(); } else { playerObj.setMute(true); updateOffMuteUI(); } } //如果非静音,更改信息的外观 function updateOnMuteUI(){ } //如果静音,更改信息的外观 function updateOffMuteUI(){ } //-------------------------播放进度/音量调节鼠标动作处理开始----------------------------------*/ //-------------------------播放进度/音量调节鼠标动作处理结束----------------------------------*/ function playerUpdate() { var targetPosition=playerObj.getCurrentTime(); // 触发视频跳转事件 if(Math.abs(targetPosition - playerObj.currentPosition)>3){ playerObj.custEvent.fire('seek'); } // 触发视频顺序播放事件 if(targetPosition != playerObj.currentPosition){ playerObj.custEvent.fire('time'); } playerObj.currentPosition=targetPosition; // 触发视频停止事件 if(playerObj.getPlayState()==1) { playerObj.custEvent.fire('idle'); } } function playerInit() { playerObj=parent.getMediaPlayer('playerObj'); if(playerObj.playerType=='msmedia'){ playerObj.currentPosition=0; setInterval("playerUpdate()", 1000); } if(playerObj.playerType=='flash'){ playerObj.onPlay(updatePlayUI); playerObj.onPause(updatePauseUI); } playerObj.onTime(goTargetCourseCon); playerObj.onSeek(goTargetCourseCon); playerObj.onIdle(clearCourseConStyle); } var m_PlayerReady=function(){ var el=getDomById('playerObj'); if(!el){ setTimeout(m_PlayerReady,20); return; } if(!isIE && el.tagName == 'OBJECT'){ var embed = el.getElementsByTagName('EMBED')[0]; if(embed){ el=embed; } } if((el.playState && el.playState==3 && el.currentMedia.duration>0 && el.controls.currentPosition>=0) || (el.jwGetState && el.jwGetState() && el.jwGetDuration()>0 && el.jwGetPosition()>=0)){ playerInit(); }else{ setTimeout(m_PlayerReady,20); } } m_PlayerReady(); // 时间选择弹出框调用 function goToTime(currTime) { playerObj.setCurrentTime(currTime); } function getMediaDuration(){ return playerObj.getDuration(); } function getTime(){ var sTime = playerObj.getCurrentTimeString(); var timeArr = sTime.split(":"); return timeArr; } //--------------------------------------------同步处理-------------------------------------------------*/ // 视频同步讲义 function goTargetCourseCon() { var currentPos = playerObj.getCurrentTime(); if(playerObj.getDuration() < 1){ return; } getIframeWin().goTargetLectureCon(currentPos); } function clearCourseConStyle() { if(playerObj.getDuration() < 1){ return; } getIframeWin().clearLectureBlockStyle(); }