Changeset 1706


Ignore:
Timestamp:
04/06/11 04:05:35 (2 years ago)
Author:
jeroen
Message:

some incremental work on multilanguage captions - mostly structuring the app

Location:
branches/captions
Files:
13 added
4 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • branches/captions/src/com/longtailvideo/plugins/captions/Captions.as

    r1674 r1706  
    33 
    44    import com.longtailvideo.jwplayer.events.MediaEvent; 
     5    import com.longtailvideo.jwplayer.events.PlaylistEvent; 
    56    import com.longtailvideo.jwplayer.player.IPlayer; 
    67    import com.longtailvideo.jwplayer.plugins.IPlugin; 
     
    89    import com.longtailvideo.jwplayer.view.interfaces.IControlbarComponent; 
    910    import com.longtailvideo.jwplayer.view.interfaces.IDockComponent; 
     11 
     12    import com.longtailvideo.plugins.captions.graphics.*; 
     13    import com.longtailvideo.plugins.captions.parsing.*; 
    1014 
    1115    import flash.display.*; 
     
    4145        /** Reference to the captions renderer. **/ 
    4246        private var _renderer:Renderer; 
     47        /** Currently active track. **/ 
     48        private var _trackid:Number; 
    4349        /** Current listing of tracks. **/ 
    4450        private var _tracks:Array; 
     
    5460            addChild(_selector); 
    5561            _cookie = SharedObject.getLocal('com.longtailvideo','/'); 
    56             _tracks = new Array(); 
    5762        }; 
    5863 
     
    7580            _player = player; 
    7681            _player.addEventListener(MediaEvent.JWPLAYER_MEDIA_TIME,_timeHandler); 
     82            _player.addEventListener(PlaylistEvent.JWPLAYER_PLAYLIST_ITEM,_itemHandler); 
    7783            _player.addEventListener(MediaEvent.JWPLAYER_MEDIA_META,_metaHandler); 
    7884            // Load the configuration options. 
     
    96102 
    97103 
     104        /** Check playlist item for captions. **/ 
     105        private function _itemHandler(event:PlaylistEvent):void { 
     106            var item:Object = _player.playlist.currentItem; 
     107            _tracks = new Array(); 
     108            if(item['captions.file']) { 
     109                // Load SRT or DFXP file. 
     110            } else if (item['captions.usubs']) { 
     111                // Do Usubs API calls. 
     112            } else { 
     113                // Listen to 3GPP TimedText metadata. 
     114            } 
     115        }; 
     116 
     117 
    98118        /** Check for captions in metadata. **/ 
    99119        private function _metaHandler(event:MediaEvent):void { 
    100             if(event.metadata.type == 'textdata') { 
     120            if(event.metadata.type == 'textdata' && event.metadata.id == _trackid) { 
    101121                _renderer.setCaptions(event.metadata.text); 
    102             } else if (event.metadata.trackinfo) { 
     122            } else if (event.metadata.trackinfo && _tracks.length == 0) { 
     123                // Parse the text tracks. 
    103124                for(var i:Number = 0; i<event.metadata.trackinfo.length; i++) { 
    104125                    var track:Object = event.metadata.trackinfo[i]; 
    105126                    if(track.sampledescription[0].sampletype == 'tx3g') { 
    106127                        _tracks.push({ 
    107                             label: Parser.LANGUAGES[track.language], 
     128                            label: ISO639.MAP[track.language], 
    108129                            trackid: i, 
    109130                            captions: undefined 
     
    111132                    } 
    112133                } 
    113                 if(_tracks.length > 0) {  
     134                if(_tracks.length > 0) { 
     135                    _trackid = _tracks[0].trackid; 
    114136                    _selector.populate(_tracks); 
    115137                    resize(_player.config.width, _player.config.height); 
  • branches/captions/test/index.html

    r1674 r1706  
    1717<ul> 
    1818    <li><a href="mp4.html">MP4 TimedText</a></li> 
     19    <li><a href="usubs.html">Universal Subtitles</a></li> 
    1920</ul> 
    2021 
  • branches/captions/test/mp4.html

    r1674 r1706  
    3030 
    3131<ul> 
    32     <li><a href="javascript:jwplayer().load('assets/bunny.mp4')">MP4 with single TextTrack</a></li> 
    33     <li><a href="javascript:jwplayer().load('assets/timoto.mp4')">MP4 with multiple TextTracks</a></li> 
     32    <li><a href="javascript:jwplayer().load('http://playertest.longtailvideo.com/bunny.mp4')">MP4 with single TextTrack</a></li> 
     33    <li><a href="javascript:jwplayer().load('http://playertest.longtailvideo.com/timoto.mp4')">MP4 with multiple TextTracks</a></li> 
    3434</ul> 
    3535 
Note: See TracChangeset for help on using the changeset viewer.