﻿<!--//
//const
var deCut1=33;
var deCut2=350;
var lenTotal=deCut2-deCut1;

var isDrag=false;
var ingDrag=0;//正在拖动的箭头
var ingCut1=deCut1;//实时箭头坐标
var ingCut2=deCut2;
var xx1=0;
var xx2=0;
var hasLoad=0;

var secondCut1=0;
var secondCut2=0;
var playLoop=0;//循环播放

var player=document.getElementById("player");

document.onmouseup=shutDrag;

function initDrag(){
   isDrag=true;
   xx1=window.event.screenX-Arrow1.offsetLeft;
   xx2=window.event.screenX-Arrow2.offsetLeft;
   document.onmousemove=inMove;
   if(chkLoad()==false){alert("请选择mp3格式的音乐文件！");shutDrag();}
   playLoop=window.setInterval("MoniterLoop()",1000);
}
function shutDrag(){
   isDrag=false;
   if(document.getElementById("timeSpan").value>=20 && document.getElementById("timeSpan").value<=45){document.getElementById("errortext").innerText="你已完成截取！如需修改，请调整箭头！";document.getElementById("errortext").style.color="green";}
   return false;
}
function resetAll(){

}

function chgArrow1(){Arrow1.style.pixelLeft=ingCut1;}
function chgArrow2(){Arrow2.style.pixelLeft=ingCut2;}
function chgArea1(){ArrowArea.style.left=ingCut1+3;ArrowArea.style.width=ingCut2-ingCut1+2;}
function chgArea2(){ArrowArea.style.width=ingCut2-ingCut1+2;}

function correctArrow1(){
   ingCut1=window.event.screenX-xx1;
   if(ingCut1>=deCut1 && ingCut1<=Arrow2.style.pixelLeft-15){chgArrow1();chgArea1();}
   if(ingCut1<deCut1){ingCut1=deCut1;chgArrow1();chgArea1();shutDrag();}
   if(ingCut1>=Arrow2.style.pixelLeft-15){ingCut1=Arrow2.style.pixelLeft-15;chgArrow1();chgArea1();shutDrag();}
}

function correctArrow2(){
   ingCut2=window.event.screenX-xx2;
   if(ingCut2>=Arrow1.style.pixelLeft+15 && ingCut2<=deCut2){chgArrow2();chgArea2();}
   if(ingCut2>deCut2){ingCut2=deCut2;chgArrow2();chgArea2();shutDrag();}
   if(ingCut2<=Arrow1.style.pixelLeft+15){ingCut2=Arrow1.style.pixelLeft+15;chgArrow2();chgArea2();shutDrag();}
}



function chkLoad(){if(hasLoad==0){return false;}return true;}//判断播放器是否已载入音乐
function getHasCut(){return document.getElementById("timeSpan").value;}
function setHasCut(t){
   document.getElementById("timeSpan").value=t.toString();
   if(t>45){
      document.getElementById("timeSpan").style.color="red";
      document.getElementById("errortext").style.color="red";
      document.getElementById("errortext").innerText="对不起，截取的铃音长度不能超过45秒！";
   }else{
      document.getElementById("timeSpan").style.color="#000000";
      document.getElementById("errortext").innerText="";
   }
}
function setTime1(t){document.getElementById("T1").value=t;}
function setTime2(t){document.getElementById("T2").value=t;}

function LenToSecond(len){//长度转为秒
   var secondTotal=parseInt(document.getElementById("player").currentMedia.duration);
   return parseInt(len*secondTotal/lenTotal);
}

function SecondToTime(xSecond){//秒转换为时间
   var mm=parseInt(xSecond/60);
   var ss=xSecond%60
   mm=new String(mm);
   ss=new String(ss);
   if(mm.length==1){mm="0"+mm;}
   if(ss.length==1){ss="0"+ss;}
   return mm+":"+ss;
}

function MoniterLoop(){//监视循环播放
   var player=document.getElementById("player");
   if(player.Controls.currentPosition>secondCut2){player.Controls.currentPosition=secondCut1;}
   if(player.playState==3){if(player.Controls.currentPosition<secondCut1)player.Controls.currentPosition=secondCut1;}
   if(player.playState==1){player.Controls.currentPosition=secondCut1;}
}

function inMove(){
   if(isDrag){
      if(ingDrag==1){correctArrow1();}
      if(ingDrag==2){correctArrow2();}
      secondCut1=LenToSecond(ingCut1-deCut1)-1;//得到箭头相对头的秒数
      secondCut2=LenToSecond(ingCut2-deCut1)-1;
      if(secondCut1==-1){secondCut1=secondCut1+1;}
      var timeCut1=SecondToTime(secondCut1);//把秒转换为相对头的时间段
      var timeCut2=SecondToTime(secondCut2);
      setTime1(timeCut1);
      setTime2(timeCut2);
      setHasCut(LenToSecond(ingCut2-ingCut1));
      var player=document.getElementById("player");
      if(ingDrag==1){player.Controls.currentPosition=secondCut1;}
      if(ingDrag==2){player.Controls.currentPosition=secondCut2;}
   }else{shutDrag();}
}

function load_from_local(){//从本地载入
   clearInterval(playLoop);
   if(document.getElementById("file_local").value==""){return false;}
   if(getExt(document.getElementById("file_local").value).toLowerCase()!=="mp3"){alert("为了音质，请选择mp3文件！");return false;}
   var player=document.getElementById("player");
   player.URL=document.getElementById("file_local").value;
   player.Controls.play();
   hasLoad=1;
   resetAll();
}

function getExt(path){
   var int_counter=path.lastIndexOf(".");
   var str_ext=path.substring(int_counter+1,path.length);
   if(str_ext.length>4 || str_ext.length<2){alert("Ext length error!");return false;}
   return str_ext;
}
//-->
