Skip to content

Instantly share code, notes, and snippets.

@cjcolvar
Created April 3, 2013 17:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cjcolvar/5303408 to your computer and use it in GitHub Desktop.
Save cjcolvar/5303408 to your computer and use it in GitHub Desktop.
OpencastPlayer.as now with extra logging and JS events!
diff --git a/modules/matterhorn-engage-player/src/main/flex/org/opencast/engage/videodisplay/control/util/OpencastMediaPlayer.as b/modules/matterhorn-engage-player/src/main/flex/org/opencast/engage/videodisplay/
index b08197c..7a8db3c 100644
--- a/modules/matterhorn-engage-player/src/main/flex/org/opencast/engage/videodisplay/control/util/OpencastMediaPlayer.as
+++ b/modules/matterhorn-engage-player/src/main/flex/org/opencast/engage/videodisplay/control/util/OpencastMediaPlayer.as
@@ -2,6 +2,7 @@ package org.opencast.engage.videodisplay.control.util
{
import bridge.ExternalFunction;
+ import flash.events.Event;
import flash.events.TimerEvent;
import flash.external.ExternalInterface;
import flash.utils.Timer;
@@ -75,6 +76,16 @@ package org.opencast.engage.videodisplay.control.util
mediaPlayerSingle.addEventListener(BufferEvent.BUFFERING_CHANGE, onBufferingChange);
mediaPlayerSingle.addEventListener(BufferEvent.BUFFER_TIME_CHANGE, onBufferTimeChange);
mediaPlayerSingle.addEventListener(TimeEvent.COMPLETE, _videocomplete, false, 0, true);
+
+ //Pass these events along to the Javascript UI - Beware Hacky!!
+ mediaPlayerSingle.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, triggerJSEvent);
+ mediaPlayerSingle.addEventListener(TimeEvent.DURATION_CHANGE, triggerJSEvent);
+ mediaPlayerSingle.addEventListener(TimeEvent.CURRENT_TIME_CHANGE, triggerJSEvent);
+ mediaPlayerSingle.addEventListener(MediaErrorEvent.MEDIA_ERROR, triggerJSEvent);
+ mediaPlayerSingle.addEventListener(BufferEvent.BUFFERING_CHANGE, triggerJSEvent);
+ mediaPlayerSingle.addEventListener(BufferEvent.BUFFER_TIME_CHANGE, triggerJSEvent);
+ mediaPlayerSingle.addEventListener(TimeEvent.COMPLETE, triggerJSEvent);
+
}
else if (videoState == VideoState.MULTI)
{
@@ -1595,6 +1606,12 @@ package org.opencast.engage.videodisplay.control.util
model.soundState=SoundState.VOLUMEMUTE;
}
}
+
+ private function triggerJSEvent(event:Event):void
+ {
+ ExternalInterface.call("console.log", "Event occurred: " + event.type);
+ ExternalInterface.call("$.event.trigger", event.type);
+ }
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment