웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[벅스 전용] 랜덤 음악 재생 Javascript.
2003.05.11 20:32
아래 어떤 분께서 랜덤 음악 제생 스크립트 올리셨는데요,
벅스 전용이라면 더 유용하고 간단한 방법이 있어서요.
사실 tag1004에서 누가 질문하셨길래 만들어봤는데, 여기도 누가 필요하실까 싶어 올려 봅니다.
[Script전문]
<script language="Javascript">
var songArray = new Array("kor14190147", "kor11200272", "kor09199717","kor06196252","kor04200173");
//곡명 리스트, 갯수 신경쓸 필요 없이 그냥 죽 나열하면 됩니다.
</script>
//////////////////선택 사양입니다. 상황표시줄에 음악 정보 출력합니다.///////////////
<script language=JScript for=player event=currentItemChange()>
var temp = player.currentMedia.name;
artist = temp.substring(0,temp.indexOf('#'));
var temp = temp.substring(temp.indexOf('#') + 1);
title = temp.substring(0,temp.indexOf('#'));
top.status = "playing.. "" + title + "" -" + artist;
</script>
<script language=JScript for=player event=playStateChange(NewState)>
switch(NewState) {
case 1: top.status = "http://m-player.wo.to"; //님 홈페이지 주소
break;
case 3: top.status = "playing.. ""+title+"" -"+artist;
break;
case 6: top.status = "buffering.. ""+title+"" -"+artist;
break;
case 7: top.status = "connecting.. ""+title+"" -"+artist;
break;
default : top.status = "http://m-player.wo.to"; //님 홈페이지 주소
}
</script>
/////////////////////////////////선택 사양의 끝입니다./////////////////////////
<script language=JScript for=player event=EndOfStream()>
bgnum=Math.floor(Math.random()*songArray.length);
player.url ="http://player.bugsmusic.co.kr/player7/player_asx.asp?music_idx="+songArray[bgnum]+",";
</SCRIPT>
<body>
<script language='Javascript'>
document.write("<body topmargin='0' leftmargin='0'><object name='player' id='player' width=100% style=height:32 classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' type='application/x-oleobject'><param name=playCount value=1000><param name='rate' value='1'><param name='balance' value='0'><param name='currentPosition' value='0'><param name='defaultFrame' value><param name='autoStart' value='-1'><param name='currentMarker' value='0'><param name='invokeURLs' value='-1'><param name='baseURL' value><param name='volume' value='50'><param name='mute' value='0'><param name='uiMode' value='full'><param name='stretchToFit' value='0'><param name='windowlessVideo' value='0'><param name='enabled' value='-1'><param name='enableContextMenu' value='-1'><param name='fullScreen' value='0'><param name='SAMIStyle' value><param name='SAMILang' value><param name='SAMIFilename' value><param name='captioningID' value><param name='enableErrorDialogs' value='0'><param name='_cx' value='22648'><param name='_cy' value='1191'></object>");
bgnum=Math.floor(Math.random()*songArray.length);
player.url ="http://player.bugsmusic.co.kr/player7/player_asx.asp?music_idx="+songArray[bgnum]+",";
</script>
</body></html>
벅스 전용이라면 더 유용하고 간단한 방법이 있어서요.
사실 tag1004에서 누가 질문하셨길래 만들어봤는데, 여기도 누가 필요하실까 싶어 올려 봅니다.
[Script전문]
<script language="Javascript">
var songArray = new Array("kor14190147", "kor11200272", "kor09199717","kor06196252","kor04200173");
//곡명 리스트, 갯수 신경쓸 필요 없이 그냥 죽 나열하면 됩니다.
</script>
//////////////////선택 사양입니다. 상황표시줄에 음악 정보 출력합니다.///////////////
<script language=JScript for=player event=currentItemChange()>
var temp = player.currentMedia.name;
artist = temp.substring(0,temp.indexOf('#'));
var temp = temp.substring(temp.indexOf('#') + 1);
title = temp.substring(0,temp.indexOf('#'));
top.status = "playing.. "" + title + "" -" + artist;
</script>
<script language=JScript for=player event=playStateChange(NewState)>
switch(NewState) {
case 1: top.status = "http://m-player.wo.to"; //님 홈페이지 주소
break;
case 3: top.status = "playing.. ""+title+"" -"+artist;
break;
case 6: top.status = "buffering.. ""+title+"" -"+artist;
break;
case 7: top.status = "connecting.. ""+title+"" -"+artist;
break;
default : top.status = "http://m-player.wo.to"; //님 홈페이지 주소
}
</script>
/////////////////////////////////선택 사양의 끝입니다./////////////////////////
<script language=JScript for=player event=EndOfStream()>
bgnum=Math.floor(Math.random()*songArray.length);
player.url ="http://player.bugsmusic.co.kr/player7/player_asx.asp?music_idx="+songArray[bgnum]+",";
</SCRIPT>
<body>
<script language='Javascript'>
document.write("<body topmargin='0' leftmargin='0'><object name='player' id='player' width=100% style=height:32 classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' type='application/x-oleobject'><param name=playCount value=1000><param name='rate' value='1'><param name='balance' value='0'><param name='currentPosition' value='0'><param name='defaultFrame' value><param name='autoStart' value='-1'><param name='currentMarker' value='0'><param name='invokeURLs' value='-1'><param name='baseURL' value><param name='volume' value='50'><param name='mute' value='0'><param name='uiMode' value='full'><param name='stretchToFit' value='0'><param name='windowlessVideo' value='0'><param name='enabled' value='-1'><param name='enableContextMenu' value='-1'><param name='fullScreen' value='0'><param name='SAMIStyle' value><param name='SAMILang' value><param name='SAMIFilename' value><param name='captioningID' value><param name='enableErrorDialogs' value='0'><param name='_cx' value='22648'><param name='_cy' value='1191'></object>");
bgnum=Math.floor(Math.random()*songArray.length);
player.url ="http://player.bugsmusic.co.kr/player7/player_asx.asp?music_idx="+songArray[bgnum]+",";
</script>
</body></html>
"제가 카페에 창이 새로 뜨면서 노래 나오게 하는 태그를 썼는데......
랜덤으로 5곡이 나오거든요....
근데 이게 돌아가면서 나오게 할수는 없나요?
한번 창이 켜지면 똑같은게 계속나오는데......
1번이 켜지면 자동으로 2번으로 이런거 말이죠,,,,
근데 다음 넘어가는것두 랜덤으로 바뀌는 그런 태그 없을까요?
부탁드려요,,"
그래서, 랜덤이어도 한번 플레이된 곡은 다시 선택 안되도록 하는 script를 다시 만들었습니다.
코드 설명을 간단히 드리면, 먼저 곡명들을 트럼프치듯이 칩니다.
딱 10번 쳐대는데 이 정도면 충분할 것같아서요. 더 치고 싶으시면
"for (var i=0;i<10;i++){" 부분에 10이란 숫자를 늘리세요. 곡 수가 100곡쯤되면 10번으론 부족하겠죠.
[Script 전문]
<script language="Javascript">
var songArray = new Array("kor14190147", "kor11200272", "kor09199717","kor06196252","kor04200173");
//곡명 리스트, 갯수 신경쓸 필요 없이 그냥 죽 나열하세요.
var k;
var temp;
for (var i=0;i<10;i++){
for (var j=0;j<songArray.length;j++) {
k=Math.floor(Math.random() * songArray.length);
temp=songArray[j];
songArray[j]=songArray[k];
songArray[k]=temp;
}
}
var songs=songArray[0];
for(var i=1;i<songArray.length;i++) songs=songs+","+songArray[i];
songs=songs+",";
</script>
////선택 사양입니다. 상황표시줄에 음악 정보 출력합니다.///////////////
*이 부분은 동일 합니다.
////선택 사양의 끝입니다./////////////////////////
<body>
<script language='Javascript'>
document.write("<body topmargin='0' leftmargin='0'><object name='player' id='player' width=100% style=height:32 classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' type='application/x-oleobject'><param name=playCount value=1000><param name=url value=http://player.bugsmusic.co.kr/player7/player_asx.asp?music_idx="+songs+"><param name='rate' value='1'><param name='balance' value='0'><param name='currentPosition' value='0'><param name='defaultFrame'+ ' value><param name='autoStart' value='-1'><param name='currentMarker' value='0'><param name='invokeURLs' value='-1'><param name='baseURL' value><param name='volume'+ ' value='50'><param name='mute' value='0'><param name='uiMode' value='full'><param name='stretchToFit' value='+ '0'><param name='windowlessVideo' value='0'><param name='enabled' value='-1'><param name='enableContextMenu' value='-1'><param name='fullScreen' value='0'><param name='SAMIStyle' value><param name='SAMILang' value><param name='SAMIFilename' value><param name='captioningID' value><param name='enableErrorDialogs' value='0'><param name='_cx' value='22648'><param name='_cy' value='1191'></object>");
</script>
</body></html>