SHARE
TWEET

Простейший OSMF-плеер

a guest Jan 18th, 2011 242 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package ru.denivip.stats
  2. {
  3.         import flash.events.TimerEvent;
  4.         import flash.utils.Timer;
  5.         import flash.utils.clearTimeout;
  6.         import flash.utils.setTimeout;
  7.        
  8.         import org.osmf.elements.VideoElement;
  9.         import org.osmf.events.MediaElementEvent;
  10.         import org.osmf.media.MediaElement;
  11.         import org.osmf.media.MediaFactoryItem;
  12.         import org.osmf.media.MediaResourceBase;
  13.         import org.osmf.media.PluginInfo;
  14.         import org.osmf.traits.MediaTraitType;
  15.         import org.osmf.traits.TimeTrait;
  16.         import org.osmf.traits.TraitEventDispatcher;
  17.  
  18.         public class StatsPluginInfo extends PluginInfo
  19.         {
  20.                 public static var NS:String = 'ru.denivip.stats';
  21.                
  22.                 private var timer:Timer;
  23.                
  24.                 private var media:MediaElement;
  25.                
  26.                 public function StatsPluginInfo()
  27.                 {
  28.                         var items:Vector.<MediaFactoryItem> = new Vector.<MediaFactoryItem>();
  29.                         var item:MediaFactoryItem = new MediaFactoryItem(NS, canHandleResourceFunction, mediaElementCreationFunction);
  30.                         items.push(item);
  31.                        
  32.                         super(items, creationNotificationFunction);
  33.                 }
  34.                
  35.                 private function canHandleResourceFunction(resource:MediaResourceBase):Boolean
  36.                 {
  37.                         return true;
  38.                 }
  39.                
  40.                 private function mediaElementCreationFunction():MediaElement
  41.                 {
  42.                         return new VideoElement();
  43.                 }
  44.                
  45.                 private function creationNotificationFunction(media:MediaElement):void
  46.                 {
  47.                         trace('created media element');
  48.                        
  49.                         var tracker:StatsTracker = new StatsTracker(media);
  50.                        
  51.                         if (media.hasTrait(MediaTraitType.TIME)) {
  52.                                 tracker.start();
  53.                         }
  54.                 }
  55.         }
  56. }
RAW Paste Data
Top