|
- /*
- * Video.js plugin for Pannellum
- * Copyright (c) 2015-2018 Matthew Petroff
- * MIT License
- */
-
- (function(document, videojs, pannellum) {
- 'use strict';
-
- var registerPlugin = videojs.registerPlugin || videojs.plugin; // Use registerPlugin for Video.js >= 6
- registerPlugin('pannellum', function(config) {
- // Create Pannellum instance
- var player = this;
- var container = player.el();
- var vid = container.getElementsByTagName('video')[0],
- pnlmContainer = document.createElement('div');
- pnlmContainer.style.zIndex = '0';
- config = config || {};
- config.type = 'equirectangular';
- config.dynamic = true;
- config.showZoomCtrl = false;
- config.showFullscreenCtrl = false;
- config.autoLoad = true;
- config.panorama = vid;
- pnlmContainer.style.visibility = 'hidden';
- player.pnlmViewer = pannellum.viewer(pnlmContainer, config);
- container.insertBefore(pnlmContainer, container.firstChild);
- vid.style.display = 'none';
-
- // Handle update settings
- player.on('play', function() {
- if (vid.readyState > 1)
- player.pnlmViewer.setUpdate(true);
- });
- player.on('canplay', function() {
- if (!player.paused())
- player.pnlmViewer.setUpdate(true);
- });
- player.on('pause', function() {
- player.pnlmViewer.setUpdate(false);
- });
- player.on('loadeddata', function() {
- pnlmContainer.style.visibility = 'visible';
- });
- player.on('seeking', function() {
- if (player.paused())
- player.pnlmViewer.setUpdate(true);
- });
- player.on('seeked', function() {
- if (player.paused())
- player.pnlmViewer.setUpdate(false);
- });
- });
-
- })(document, videojs, pannellum);
|