Changeset 1706
- Timestamp:
- 04/06/11 04:05:35 (2 years ago)
- Location:
- branches/captions
- Files:
-
- 13 added
- 4 deleted
- 4 edited
-
assets/buttonOver.png (added)
-
assets/downOver.png (added)
-
assets/upOver.png (added)
-
captions.swf (modified) (previous)
-
src/com/longtailvideo/plugins/captions/Captions.as (modified) (7 diffs)
-
src/com/longtailvideo/plugins/captions/Parser.as (deleted)
-
src/com/longtailvideo/plugins/captions/Renderer.as (deleted)
-
src/com/longtailvideo/plugins/captions/Selector.as (deleted)
-
src/com/longtailvideo/plugins/captions/SelectorButton.as (deleted)
-
src/com/longtailvideo/plugins/captions/graphics (added)
-
src/com/longtailvideo/plugins/captions/graphics/Renderer.as (added)
-
src/com/longtailvideo/plugins/captions/graphics/Selector.as (added)
-
src/com/longtailvideo/plugins/captions/graphics/SelectorButton.as (added)
-
src/com/longtailvideo/plugins/captions/parsing (added)
-
src/com/longtailvideo/plugins/captions/parsing/DFXP.as (added)
-
src/com/longtailvideo/plugins/captions/parsing/ISO639.as (added)
-
src/com/longtailvideo/plugins/captions/parsing/SRT.as (added)
-
src/com/longtailvideo/plugins/captions/parsing/Usubs.as (added)
-
test/index.html (modified) (1 diff)
-
test/mp4.html (modified) (1 diff)
-
test/usubs.html (added)
Legend:
- Unmodified
- Added
- Removed
-
branches/captions/src/com/longtailvideo/plugins/captions/Captions.as
r1674 r1706 3 3 4 4 import com.longtailvideo.jwplayer.events.MediaEvent; 5 import com.longtailvideo.jwplayer.events.PlaylistEvent; 5 6 import com.longtailvideo.jwplayer.player.IPlayer; 6 7 import com.longtailvideo.jwplayer.plugins.IPlugin; … … 8 9 import com.longtailvideo.jwplayer.view.interfaces.IControlbarComponent; 9 10 import com.longtailvideo.jwplayer.view.interfaces.IDockComponent; 11 12 import com.longtailvideo.plugins.captions.graphics.*; 13 import com.longtailvideo.plugins.captions.parsing.*; 10 14 11 15 import flash.display.*; … … 41 45 /** Reference to the captions renderer. **/ 42 46 private var _renderer:Renderer; 47 /** Currently active track. **/ 48 private var _trackid:Number; 43 49 /** Current listing of tracks. **/ 44 50 private var _tracks:Array; … … 54 60 addChild(_selector); 55 61 _cookie = SharedObject.getLocal('com.longtailvideo','/'); 56 _tracks = new Array();57 62 }; 58 63 … … 75 80 _player = player; 76 81 _player.addEventListener(MediaEvent.JWPLAYER_MEDIA_TIME,_timeHandler); 82 _player.addEventListener(PlaylistEvent.JWPLAYER_PLAYLIST_ITEM,_itemHandler); 77 83 _player.addEventListener(MediaEvent.JWPLAYER_MEDIA_META,_metaHandler); 78 84 // Load the configuration options. … … 96 102 97 103 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 98 118 /** Check for captions in metadata. **/ 99 119 private function _metaHandler(event:MediaEvent):void { 100 if(event.metadata.type == 'textdata' ) {120 if(event.metadata.type == 'textdata' && event.metadata.id == _trackid) { 101 121 _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. 103 124 for(var i:Number = 0; i<event.metadata.trackinfo.length; i++) { 104 125 var track:Object = event.metadata.trackinfo[i]; 105 126 if(track.sampledescription[0].sampletype == 'tx3g') { 106 127 _tracks.push({ 107 label: Parser.LANGUAGES[track.language],128 label: ISO639.MAP[track.language], 108 129 trackid: i, 109 130 captions: undefined … … 111 132 } 112 133 } 113 if(_tracks.length > 0) { 134 if(_tracks.length > 0) { 135 _trackid = _tracks[0].trackid; 114 136 _selector.populate(_tracks); 115 137 resize(_player.config.width, _player.config.height); -
branches/captions/test/index.html
r1674 r1706 17 17 <ul> 18 18 <li><a href="mp4.html">MP4 TimedText</a></li> 19 <li><a href="usubs.html">Universal Subtitles</a></li> 19 20 </ul> 20 21 -
branches/captions/test/mp4.html
r1674 r1706 30 30 31 31 <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> 34 34 </ul> 35 35
Note: See TracChangeset
for help on using the changeset viewer.
