Kage Project Kage Project
 
   
        
 

.
1, 2  .
 
           Kage Project ->
::  
neko_kun



: 13.12.2007
: 145

: 28, 2010 12:00 pm   : .

, , , 1 .

, : HTML .

:
1) - ;
2) - ass, ssa, srt:
2.) - srt,
2.) ass ssa .

, .


- ;
ass ssa - , , srt html.

tt - ? jw- , , - , .

:
1) 1 - srt;
2) 0.1 ;
3) .2 , , , 0,
4) 1 . ( ); .2 .1, .2.

, . , . , , .

. - , .

flowplayer:
http://static.flowplayer.org/plugins/flash/captions.html


: 02, 2010 19:31 pm
     -
Shitsu






: 28, 2010 14:43 pm  

?
neko_kun



: 13.12.2007
: 145

: 28, 2010 15:19 pm  

- jw-



[/hide] , .
.


: 28, 2015 23:25 pm
     -
triedge






: 28, 2010 16:58 pm  

http://subtitle-horse.org/
- .
neko_kun



: 13.12.2007
: 145

: 28, 2010 17:19 pm  

triedge, , . . .

, - : , , , - , .
     -
Shitsu






: 28, 2010 20:15 pm  

tv.nkk.pp.ru . :
:
function mp3ChgTime(obj){
      curPos = obj['position'];
      if( issub ){
        if( curPos >= subcontent[curSubPos][0][0] )
          jQuery('#subs').html( subcontent[curSubPos][1] );
        if( curPos >= subcontent[curSubPos][0][1] ){
          curSubPos++;
          jQuery('#subs').html('<br>');
        }
      }
    }

subcontent[curSubPos][0][0] -
subcontent[curSubPos][0][1] -
, : curSubPos++;

. :
:
function onSeek(obj){
      curPos = obj['position'];
      curSubPos = 0; //
       while ( curPos <= subcontent[curSubPos+1][0][0] ){
          curSubPos++; //,
        }
      }
    }


srt . ass, , . , , . -
neko_kun



: 13.12.2007
: 145

: 28, 2010 20:22 pm  

Shitsu, . ( - ), , , .
     -
Shitsu






: 28, 2010 20:43 pm  

, 200 .






: 03.07.2009
: 668
:
: 28, 2010 21:18 pm  

?
     -
neko_kun



: 13.12.2007
: 145

: 28, 2010 21:45 pm  

: ?
0.01., , , 45 45*60*100=270000 .
, ...

.
. :

subcontent[1] = ' ';
subcontent[2] = ' ';
subcontent[3] = ' ';

subtiming[1][0] = < 1>;
subtiming[1][1] = < 1>;
subtiming[2][0] = < 2>;
subtiming[2][1] = < 2>;
subtiming[3][0] = < 3>;
subtiming[3][1] = < 3>;

, , , , .

:

times[< 1>] = ' ';
times[< 2>] = ' ';
times[< 3>] = ' ';
times[< 1>] = times[< 2>] = times[< 3>] = '';

, ....
     -
Shitsu






: 28, 2010 22:14 pm  

- + . 0,01 + . . , .
furyx






: 29, 2010 0:11 am  

.
SRT, . ASS, , /pos , , , .

0.01? 25 0.04.
neko_kun



: 13.12.2007
: 145

: 29, 2010 2:13 am  

Shitsu, , ; 3 .

furyx, =))
, ;
, , jQuery ;
, , .

=) JS ssa, 5% .
     -
neko_kun



: 13.12.2007
: 145

: 29, 2010 19:50 pm  

, . - .
1 - , , =).

, JS, jQuery . , :

:
subtiming = [];
subcontent = [];
$('#subs').html('');
if( issub = $(this).hasClass('sub') ){
  var plpl = $(this).attr('href');
  $.get('v/'+plpl.substring(1,$(this).attr('href').length-3)+'srt',function(data){
    var replics, replic, subtmparts, tmtmp;
    var sep = data.indexOf('\r\n') == -1 ? '\n' : '\r\n';
    var replics = data.split(sep+sep);

    for( i=0; i<replics.length; i++ ){                                  //
      replic = replics[i].split(sep);
      if( replic.length > 2 ){
        subtiming[replic[0]] = [];

        subtmparts = replic[1].split(' --> ');                          //
        if( subtmparts.length == 2 )
          for( j=0; j<2; j++ )
            if( tmtmp = subtmparts[j].match(/(\d{2})\:(\d{2})\:(\d{2})\,(\d{2})/) )
              subtiming[replic[0]][j] = tmtmp[1]*360000 + tmtmp[2]*6000 + tmtmp[3]*100 + parseInt( tmtmp[4] );

        subcontent[replic[0]] = replic[2];
        for( j=3; j<replic.length; j++ )                                //
          subcontent[replic[0]] += '<br>' + replic[j];

      }
    }                                                                   //

    setPlayer(plpl.substring(1));
  })
}
else
  setPlayer($(this).attr('href').substring(1));


jw- - :

:
function mp3ChgTime(obj){
  curPos = obj['position'];
  if( issub ){
    if( tmp = setLastPosId( lastPosId + 1 ) ){
      lastPosId = tmp;
      jQuery('#subs').html( subcontent[lastPosId] );
    }
    else
      jQuery('#subs').html( '' );
  }
}

function setLastPosId( id ){
  var pos = parseInt( curPos * 100 )
  try{
    if( pos >= subtiming[id][0] && pos < subtiming[id][1] )
      return id;
    if( pos < subtiming[id][0] )
      if( pos >= subtiming[id-1][1] )
        return 0
      else
        return setLastPosId( --id );
    if( pos >= subtiming[id][1] )
      if( pos < subtiming[id+1][0] )
        return 0
      else
        return setLastPosId( ++id );
  }catch(e){};
}


setPlayer() -


: 29, 2010 21:44 pm
     -
Shitsu






: 29, 2010 20:33 pm  

, . .

: id1, id2, - , - id=(id1+id2)/2, subtiming[id] c pos. , id1,id, , id,id2.
xW[oG~6bRDY.&nRTRoQeM^[eiJU_:k.Nm3J;3{secc- MslnGQv~GEu'J5\G8 [vy"h!vx͐JpKfSq]M2yj=YҊs.6NuI4eޟm!Mؘ~4A@yA$QM&OJ3U3j{A?l0v@OVЖ&5\ܭlnp[ͦ]CqP2i&->eXzlNQjݧwGp>K{EAm9GKc%I>v([K(@asJ|kol'<26'EU"g{AOa=0H3axE< "ˍ/LVK TrA?2?v^.ovn@ѻZAlcH2  XcVgD(A'\?({fL0V/NKZ>ꄧgM]]:H˜uWEb! d M; ] jx7 Xx~# ֹ5lz[ȟh}r^",{gKԺ6ҙ7u "`ؕ-~{/а& v8 gXv-ndB).fUV\C{U{*miT, )9;\^j1~.I˖Z'ebpN(U
: