Skip to content
Snippets Groups Projects
Commit af7b5a74 authored by srosse's avatar srosse
Browse files

OO-2850: add time tracking for the chapter editor

parent a55a21ea
No related branches found
No related tags found
No related merge requests found
...@@ -88,6 +88,7 @@ public class VideoChapterEditController extends BasicController { ...@@ -88,6 +88,7 @@ public class VideoChapterEditController extends BasicController {
//video preview //video preview
videoDisplayCtr = new VideoDisplayController(ureq, getWindowControl(), entry, false, false, false, false, null, false, false, null, false); videoDisplayCtr = new VideoDisplayController(ureq, getWindowControl(), entry, false, false, false, false, null, false, false, null, false);
videoDisplayCtr.setTimeUpdateListener(true);
listenTo(videoDisplayCtr); listenTo(videoDisplayCtr);
videoDisplayCtr.reloadVideo(ureq); videoDisplayCtr.reloadVideo(ureq);
mainVC.put("video", videoDisplayCtr.getInitialComponent()); mainVC.put("video", videoDisplayCtr.getInitialComponent());
......
...@@ -145,6 +145,10 @@ public class VideoDisplayController extends BasicController { ...@@ -145,6 +145,10 @@ public class VideoDisplayController extends BasicController {
} }
} }
public void setTimeUpdateListener(boolean enable) {
mainVC.contextPut("listenTimeUpdate", enable);
}
private void initMediaElementJs() { private void initMediaElementJs() {
// load mediaelementjs player, speed and sourcechooser pluginss // load mediaelementjs player, speed and sourcechooser pluginss
String[] cssPath; String[] cssPath;
...@@ -304,7 +308,7 @@ public class VideoDisplayController extends BasicController { ...@@ -304,7 +308,7 @@ public class VideoDisplayController extends BasicController {
String currentTime = ureq.getHttpReq().getParameter("currentTime"); String currentTime = ureq.getHttpReq().getParameter("currentTime");
String duration = ureq.getHttpReq().getParameter("duration"); String duration = ureq.getHttpReq().getParameter("duration");
String src = ureq.getHttpReq().getParameter("src"); String src = ureq.getHttpReq().getParameter("src");
logDebug(cmd + " " + currentTime + " " + duration + " " + src, null); //logDebug(cmd + " " + currentTime + " " + duration + " " + src, null);
switch(cmd) { switch(cmd) {
case "play": case "play":
fireEvent(ureq, new VideoEvent(VideoEvent.PLAY, currentTime, duration)); fireEvent(ureq, new VideoEvent(VideoEvent.PLAY, currentTime, duration));
...@@ -318,6 +322,9 @@ public class VideoDisplayController extends BasicController { ...@@ -318,6 +322,9 @@ public class VideoDisplayController extends BasicController {
case "ended": case "ended":
fireEvent(ureq, new VideoEvent(VideoEvent.ENDED, currentTime, duration)); fireEvent(ureq, new VideoEvent(VideoEvent.ENDED, currentTime, duration));
break; break;
case "timeupdate":
fireEvent(ureq, new VideoEvent(VideoEvent.TIMEUPDATE, currentTime, duration));
break;
} }
updateGUIPreferences(ureq, src); updateGUIPreferences(ureq, src);
} }
......
...@@ -34,6 +34,7 @@ public class VideoEvent extends Event { ...@@ -34,6 +34,7 @@ public class VideoEvent extends Event {
public static final String PAUSE = "pause"; public static final String PAUSE = "pause";
public static final String SEEKED = "seeked"; public static final String SEEKED = "seeked";
public static final String ENDED = "ended"; public static final String ENDED = "ended";
public static final String TIMEUPDATE = "timeupdate";
private final String timeCode; private final String timeCode;
private final String duration; private final String duration;
......
...@@ -61,6 +61,15 @@ ...@@ -61,6 +61,15 @@
$r.openNoResponseJavaScriptCommand("seeked"), 'currentTime', mediaElement.currentTime, 'src', mediaElement.src, 'duration', mediaElement.duration); $r.openNoResponseJavaScriptCommand("seeked"), 'currentTime', mediaElement.currentTime, 'src', mediaElement.src, 'duration', mediaElement.duration);
} }
}, false); }, false);
#if($r.isTrue($listenTimeUpdate))
mediaElement.addEventListener('timeupdate', function(e) {
if (!o_info.linkbusy) {
$r.openNoResponseJavaScriptCommand("timeupdate"), 'currentTime', mediaElement.currentTime, 'src', mediaElement.src, 'duration', mediaElement.duration);
}
}, false);
#end
## listen to end events, fired when movie is finished ## listen to end events, fired when movie is finished
mediaElement.addEventListener('ended', function(e) { mediaElement.addEventListener('ended', function(e) {
if (!o_info.linkbusy) { if (!o_info.linkbusy) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment