인터넷정보

배경음악 랜덤 재생

알 수 없는 사용자 2007. 10. 17. 17:48

http://oxtag.com/html/ex/sound_random_2.html

아래의 랜덤 재생 소스는 한곡이 끝나면 다음곡으로 넘어가지를 못했는데
이 소스는 한곡 재생이 끝나면 지정된 시간이 경과후 다음곡 재생이 됩니다.

textarea 안에 음악파일이름:시간(초) 이렇게 넣구요.
파일경로는 한 줄씩 써주세요.
그리고 텍스트에리어 안에 빈 줄 삽입은 금지입니다.
몇개든 추가 가능합니다...^^

<span id=cmtm></span>
<div style="position:absolute;visibility:hidden;"><!-- 텍스트에리어 감추기 -->
<form name=cmt>
<textarea name=playlist cols="1" rows="1">
http://user.chollian.net/~endlessyun/wma/1.wma:360
http://user.chollian.net/~endlessyun/wma/2.wma:522
http://user.chollian.net/~endlessyun/wma/3.wma:437
http://user.chollian.net/~endlessyun/wma/4.wma:432
http://user.chollian.net/~endlessyun/wma/5.wma:459
http://user.chollian.net/~endlessyun/wma/6.wma:276
http://user.chollian.net/~endlessyun/wma/7.wma:395
http://user.chollian.net/~endlessyun/wma/8.wma:283
http://user.chollian.net/~endlessyun/wma/9.wma:182
http://user.chollian.net/~endlessyun/wma/10.wma:220
http://user.chollian.net/~endlessyun/wma/11.wma:285
</textarea>
</form>
</div>

<script>
window.onload=cmt_start;
agotemp=-1;
function cmt_start(){
   thebank=document.cmt.playlist.value;
   acno=0;
   centerno=0;
   count=0;
   for(i=0;i<=thebank.length;i++){
      if(thebank.substring(i,i+1) == ":"){
         centerno=i;
      }
      if(thebank.substring(i,i+1)=="\r"){
        piloin=thebank.substring(acno,centerno);
        piloin2=thebank.substring(centerno+1,i);
        eval('miditem'+count+'=new musicinfo("'+piloin+'",'+piloin2+');');
         acno=i+=2;
        count++;
     }
   }

count--;
choosesound();
}

function choosesound(){
do{
   ttti=getIns(count-Math.random()*count)+1;
}while(ttti == agotemp)
eval('xrion=miditem'+ttti+'.midname');
eval('yrion=miditem'+ttti+'.time');

eval('cmtm.innerHTML=\"<embed src='+xrion+' hidden=true autostart=true>\"');
agotemp=ttti;
setTimeout('choosesound()',yrion*1000);
}

function musicinfo(xmi,ymi){
this.midname=xmi;
this.time=ymi;
}


function getIns(ab){
eval('camelot="'+ab+'"');
for(si=0;si<camelot.length+1;si++){
mtosi=camelot.substring(si,si+1);
if(mtosi=='.'){eval('mstaka='+camelot.substring(0,si)+';');return mstaka;break;}
if(si==camelot.length){return ab;break;}
}
}
</script>
반응형