Blame view

sources/apps/files_videoviewer/js/viewer.js 3.42 KB
d1bafeea1   Kload   [fix] Upgrade to ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
  var videoViewer = {
  	UI : {
  		playerTemplate : '<video width="%width%" height="%height%" id="media_element" class="video-js vjs-default-skin" controls preload="none">' + 
  		'<source type="%type%" src="%src%" />' + 
  		'</video>',
  		show : function () {
  			$('<div id="videoviewer_overlay" style="display:none;"></div><div id="videoviewer_popup"><div id="videoviewer_container"><a class="box-close" id="box-close" href="#"></a><h3>'+escapeHTML(videoViewer.file)+'</h3></div></div>').appendTo('body');
  			
  			$('#videoviewer_overlay').fadeIn('fast',function(){
  				$('#videoviewer_popup').fadeIn('fast');
  			});
  			$('#box-close').click(videoViewer.hidePlayer);
  			var size = videoViewer.UI.getSize();
  			var playerView = videoViewer.UI.playerTemplate.replace(/%width%/g, size.width)
  								.replace(/%height%/g, size.height)
  								.replace(/%type%/g, videoViewer.mime)
  								.replace(/%src%/g, videoViewer.location)
  			;
  			$(playerView).prependTo('#videoviewer_container');
  		},
  		hide : function() {
  			$('#videoviewer_popup').fadeOut('fast', function() {
  				$('#videoviewer_overlay').fadeOut('fast', function() {
  					$('#videoviewer_popup').remove();
  					$('#videoviewer_overlay').remove();
  				});
  			});
  		},
  		getSize : function () {
  			var size;
  			if ($(document).width()>'680' && $(document).height()>'520' ){
  				size = {width: 640, height: 480};
  			} else {
  				size = {width: 320, height: 240};
  			}
  			return size;
  		}
  	},
  	mime : null,
  	file : null,
  	location : null,
  	player : null,
  	dir: null,
  	mimeTypes : [
  		'video/mp4',
  		'video/webm',
  		'video/x-flv',
  		'application/ogg',
  		'video/ogg',
  		'video/quicktime',
  		'video/x-msvideo',
  		'video/x-matroska',
  		'video/x-ms-asf'
  	],
6d9380f96   Cédric Dupont   Update sources OC...
55
  	onView : function(file, data) {
d1bafeea1   Kload   [fix] Upgrade to ...
56
  		videoViewer.file = file;
6d9380f96   Cédric Dupont   Update sources OC...
57
58
59
  		videoViewer.dir = data.dir;
  		videoViewer.location = data.fileList.getDownloadUrl(file, videoViewer.dir);
  		videoViewer.mime = data.$file.attr('data-mime');
d1bafeea1   Kload   [fix] Upgrade to ...
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
  		
  		OC.addScript('files_videoviewer','mediaelement-and-player', function(){
  			OC.addScript('files_videoviewer','mep-extra', videoViewer.showPlayer);
  		});
  	},
  	showPlayer : function() {
  		videoViewer.UI.show();
  	
  		videoViewer.player = new MediaElementPlayer('#media_element', {
  			features: ['playpause','progress','current','duration','tracks','volume','fullscreen'],
  			pluginPath : OC.filePath('files_videoviewer', 'js', ''),
  			pauseOtherPlayers: false,
  			enablePluginDebug: false,
  			plugins: ['flash','silverlight'],
  			success: function (player, node) {
  				//set the size (for flash otherwise no video just sound!)
  				player.setVideoSize($(node).width(), $(node).height());
  				player.load();
  				player.pause();
  			},
  			error: function (m) { 
  				console.log(m);
  			}
  		});
  	},
  	hidePlayer : function() {
  		videoViewer.player = false;
  		delete videoViewer.player;
  
  		videoViewer.UI.hide();
  	},
d1bafeea1   Kload   [fix] Upgrade to ...
91
92
93
94
95
96
97
98
99
100
101
  	onKeyDown : function(e) {
  		if (e.keyCode == 27 && !$('.mejs-container-fullscreen').length && videoViewer.player) {
  			 videoViewer.hidePlayer();
  		}
  	},
  	log : function(message){
  		console.log(message);
  	}
  };
  
  $(document).ready(function() {	
6d9380f96   Cédric Dupont   Update sources OC...
102
103
104
105
  	if ( typeof OCA !== 'undefined'
  		&& typeof OCA.Files !== 'undefined'
  		&& typeof OCA.Files.fileActions !== 'undefined'
  	) {
d1bafeea1   Kload   [fix] Upgrade to ...
106
107
  		for (var i = 0; i < videoViewer.mimeTypes.length; ++i) {
  			var mime = videoViewer.mimeTypes[i];
6d9380f96   Cédric Dupont   Update sources OC...
108
109
  			OCA.Files.fileActions.register(mime, 'View', OC.PERMISSION_READ, '', videoViewer.onView);
  			OCA.Files.fileActions.setDefault(mime, 'View');
d1bafeea1   Kload   [fix] Upgrade to ...
110
111
112
113
  		}
  		$(document).keydown(videoViewer.onKeyDown);
  	}
  });