미디어플레이어 재생 시간 추출 > script

본문 바로가기
사이트 내 전체검색

script

미디어플레이어 재생 시간 추출

페이지 정보

작성자 서방님 댓글 0건 조회 191회 작성일 07-11-27 19:43

본문

<html>
<head>
    <title>faithlove.net Test-Jukebox</title>
    <meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
    <style type="text/css">
        body,table,tr,td { font-family:굴림; font-size:9pt; color:#333333; }
        body { margin : 0 0 0 0; }
    </style>
    <script>

// 시간을 표시하는 함수
        function LoadPlayTime()
        {
            // 현재 재생되고 있는 음악의 총 시간은 두가지 방법으로 불러 올 수 있습니다.
            // 하나는 전체가 몇 초인가 하는 236(초)이라는 숫자를 불러오는 것이고
            // 다른 하나는 3:56 식으로 문자를 불러오는 것입니다.
            // 숫자를 불러 오려면 player.currentMedia.duration 으로 하면 됩니다.
            // 문자로 불러 오려면 다음과 같이 하면 됩니다.
            var duration = player.currentMedia.durationString;

            // 재생되고 있는 음악이 몇초가 지났는지는 player.controls.currentPosition 으로 가져올 수 있습니다.
            // 그러나 이것은 몇초(소수점 포함)로 값을 반환하기 때문에 3:56 식으로 변환을 해줘야 합니다.
            var nowTime = player.controls.currentPosition;
            var nowPosition = time_paser(nowTime);

            // 재생이 되고 있다면 nowTime이 0보다 크겠죠?
            if(nowTime > 0)
            {
                document.all["play_time"].innerHTML = "<font color=#000000>" + nowPosition + " / "+ duration + "</font>";
            }
            else if(nowTime >= player.currentMedia.duration)
            {    // 재생시간이 전체시간과 같거나(재생이 끝났다는 말이죠) 클경우..(이런 경우도 있나?!) 함수를 빠져나옵니다.
                return;
            }

            // 시간 표시를 초 단위로 하기 때문에 1초보다 작은 값으로 반복을 시켜주면 되겠죠.
            // 1000이 1초입니다. 따라서 500은 0.5초입니다. 0.5초마다 시간을 표시해주는 겁니다.
            setTimeout("LoadPlayTime();", 500);
        }

        // 숫자를 mm:ss 식으로 변환하는 함수
        function time_paser(i_time){
            var PlyTime,PlyCl,PlyMin,PlySec,temp;
            PlyTime=i_time;
            temp=Math.floor(PlyTime/60);
            PlySec=Math.floor(PlyTime%60);
            PlyClk=Math.floor(temp/60);
            PlyMin=Math.floor(temp%60);
            if (PlyMin <10) {PlyMin='0'+PlyMin;}
            if (PlySec <10) {PlySec='0'+PlySec;}
            if (PlyClk==0){r_TimeText=PlyMin+':'+PlySec;}else{r_TimeText=PlyClk+':'+PlyMin+':'+PlySec;}
            return r_TimeText;
        }

            function player_pause()
        {    // 일시정지
            if(player.playState == 2)
            {    // 일시 정지상태에서 pause 버튼을 누르면 그 시점부터 다시 재생되어야 함.
                player.controls.play();
            }
            else
            {
                if(player.controls.isAvailable('pause'))
                {
                        player.controls.pause();
                }
            }
        }
                    // 버퍼링 과정을 표시하는 함수
        function UpdateBuffer()
        {
            // 버퍼링이 얼마나 되었는지를 나타내는 것은 player.network.bufferingProgress 입니다.
            document.all["state"].innerHTML    = player.network.bufferingProgress + "% 버퍼링 중....";
        }

        // 반복 동작을 가리키는 변수
        var showBuffer;

        function PlayerState(state)
        {
            var oMedia = player.currentMedia;
            switch(state) {
                case 1 :
                    document.all["state"].innerHTML = "정지";
                    break;

                  case 2 :
                    // 2번은 pasue(일시정지)되었을 때
                    document.all["state"].innerHTML = "일시정지";
                    break;

                      case 3 :
                    document.all["state"].innerHTML = "<marquee scrollamount=3>" + oMedia.getItemInfo('Title') + " - " + oMedia.getItemInfo('Author') + "</marquee>";
          LoadPlayTime();

                    break;

                case 4 :


                    // 버퍼링이 다 되고 음악이 시작되는 시점이므로 버퍼링 표시하는 반복작업을 해제합니다.
                    clearInterval(showBuffer);

                    // 음악이 시작이 되고 있으므로, 이 때에 시간을 표시하는 함수를 호출합니다.
//                    LoadPlayTime();
                    document.all["state"].innerHTML = "<marquee scrollamount=3>" + playTitle[playList] + " - " + playSinger[playList] + " (" + (+1) + "/" + playCount + ")</marquee>";
                    break;

                case 6 :
                    // 6번은 버퍼링 중일 때
                    // 강좌 3까지는 그냥 "버퍼링...."이라고만 표시를 해줬는데,
                    // 모뎀 사용자, 해외 사용자, 인터넷이 느린 사무실, 학교, 공공 기관등에서는
                    // 버퍼링 과정이 멈춰진 현상인지 혹은 얼마나 지금 버퍼링이 되고 있는지 확인 시켜주는 것도
                    // 중요한 것 중의 하나입니다.
                    // setInterval은 주기적으로 어떤 실행을 반복시키는 역활을 함. 다음은 0.2초마다 UpdateBuffer를 실행함.
                    showBuffer = setInterval("UpdateBuffer();", 200);
                    break;
            }
        }
    </script>
    <script language="JScript" for="player" event="playStateChange(NewState)">PlayerState(NewState);window.status=NewState;</script>
</head>

<body >

    <!-- Windows Media Player 9 오브젝트
            필요한 몇가지를 설정을 해야 하나, 설정을 안 하면 기본 값이 적용이 됩니다.
            따라서 꼭 필요한 것만 값을 적용시키면 되는데, 크기를 width=0 height=0 으로 하였기 때문에,
            재생에 관련된 부분만 건드려 주면 됩니다.
            중요한 것은 재생시킬 파일이겠죠. 예제를 살리기 위해 일반 음악주소가 아닌, 따로 만든 asx 파일을 재생합니다.
    -->
    <object id=player name=player width=0 height=0 classid='clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6' type='application/x-oleobject'>
        <param name="playcount" value="1">
        <param name="volume" value="100">
        <param name="url" value="mms://media1.ike.co.kr/ike/free/070721_TOEIC04.wmv">
    </object>

    <!-- 웹플레이어 배경으로 사용할 이미지 -->
    <table cellpadding=0 cellspacing=0 border=0 width=300>
        <tr><td><img src="002.gif" border=0 usemap="#ImageMap1" width="360" height="87"></td></tr>
    </table>

    <!-- 정보를 표시하기 위한 레이어 -->
    <div id="state" style="width:180px; height:18px; position:absolute; left:63px; top:26px; z-index:1;"><marquee scrollamount=3>웹플레이어 만들기~</marquee></div><!-- 이미지의 버튼에 링크 걸기 -->
    <div id="play_time" align=right style="width:77px; height:36px; position:absolute; left:260px; top:41px; z-index:2;"><font color=#000000>00:00 / 00:00</font></div>

 


<map name="ImageMap1">
<area shape="rect" coords="26, 35, 37, 47" href="#" onclick="javascript:player.controls.Play();return false;" href='#' style="cursor:hand;" onfocus="this.blur();" alt="재생">
<area shape="rect" coords="42, 35, 53, 47" href="#" onclick="javascript:player.controls.Stop();return false;" href='#' style="cursor:hand;" onfocus="this.blur();" alt="정지">
<area shape="rect" coords="61, 35, 70, 47" href="#" onclick="javascript:player.controls.pause();return false;" href='#' style="cursor:hand;" onfocus="this.blur();" alt="일시정지">
</map></body>

</html>

댓글목록

등록된 댓글이 없습니다.

Total 846건 22 페이지
게시물 검색

회원로그인

접속자집계

오늘
24
어제
302
최대
1,347
전체
155,085
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.