Advertisement
verygoodplugins

Untitled

Dec 23rd, 2022
846
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     // PrestoPlayer
  2.  
  3.     if ( typeof wp != 'undefined' && typeof wp.hooks != 'undefined' ) {
  4.  
  5.         wp.hooks.addAction( 'presto.playerReady', 'wp-fusion-media-tools', (player) => {
  6.  
  7.             var container = $( player.elements.container.getRootNode().host || player.elements.container ).closest('figure');
  8.  
  9.             var playerType = container.attr('data-player_type');
  10.  
  11.             if ( typeof playerType == 'undefined' ) {
  12.                 return; // If WP Fusion isn't set on this player
  13.             }
  14.  
  15.             player.wpfData = getPlayerData( container );
  16.  
  17.             if (typeof player.wpfData.wpf_tags_start != 'undefined') {
  18.  
  19.                 // Started playing
  20.  
  21.                 var startDone = false;
  22.  
  23.                 player.on( 'playing', event => {
  24.  
  25.                     const player = event.detail.plyr;
  26.  
  27.                     if (startDone == false) {
  28.  
  29.                         startDone = true;
  30.                         applyTags(player.wpfData.wpf_tags_start);
  31.  
  32.                     }
  33.                 });
  34.  
  35.             }
  36.  
  37.             // Completed
  38.  
  39.             var completeDone = false;
  40.  
  41.             player.on( 'timeupdate', event => {
  42.  
  43.                 const player = event.detail.plyr;
  44.  
  45.                 if ( typeof player.wpfData.wpf_tags_complete != 'undefined' ) {
  46.  
  47.                     if ( player.currentTime / player.duration >= 0.95 && completeDone == false) {
  48.  
  49.                         // 95% complete
  50.  
  51.                         completeDone = true;
  52.                         applyTags(player.wpfData.wpf_tags_complete);
  53.  
  54.                     }
  55.  
  56.                 }
  57.  
  58.                 if ( typeof player.wpfData.timecodeTags != 'undefined' ) {
  59.  
  60.                     $.each(player.wpfData.timecodeTags, function(timecode, tags) {
  61.                        
  62.                         if ( timecode.endsWith('%') ) {
  63.  
  64.                             // Percentage based tracking
  65.    
  66.                             var percent = parseInt( timecode.replace('%', '') );
  67.                             percent = percent / 100;
  68.    
  69.                              if( ( player.currentTime / player.duration ) >= percent ) {
  70.                                 applyTags(tags);
  71.                                 delete player.wpfData.timecodeTags[timecode];
  72.                              }
  73.    
  74.                         } else {
  75.  
  76.                             if( player.currentTime >= timecode ) {
  77.  
  78.                                 applyTags(tags);
  79.                                 delete player.wpfData.timecodeTags[timecode];
  80.  
  81.                             }
  82.                         }
  83.  
  84.                     });
  85.  
  86.                 }
  87.  
  88.             });
  89.  
  90.         });
  91.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement