0

Below is my code.

forward seeking is disabled and its working in desktop browsers. But when it is opened in mobile browsers, disabling forward seek is not working.

<div class="jw_player_box">
        <div id='my-video'></div>
<script type='text/javascript'>
 jwplayer('my-video').setup({
    file: 'jwplayer/2.mp4',
    flashplayer: "jwplayer/jwplayer.flash.swf",
    width: '360',
    height: '280',

});

var seek_okay = false;
var max_seen = 0.0; 
  jwplayer().onSeek(function (position, offset) {
    if (!seek_okay) {
      max_seen = Math.max(max_seen, position.position);
      if (position.offset > position.position) {
        seek_okay = true;
        setTimeout(function(){jwplayer().seek(Math.min(max_seen, position.offset))},100);
      }
    } else {
      seek_okay = false;
    }
 });
</script></div>  

Any suggestions please

Amit
  • 15,217
  • 8
  • 46
  • 68
kiran kinny
  • 9
  • 1
  • 5

2 Answers2

1

Try this below script.

        var maxPlayPosition = 0.0;
        var seeking = false;

        jwplayer().onTime(function(event) 
        {
            if (!seeking) 
            {
                maxPlayPosition = Math.max(event.position, maxPlayPosition); 
            }
        }).onPlaylistItem(function() 
        {
            maxPlayPosition = 0.0;
        }).onSeek(function (event) 
        {
            if (!seeking) 
            {
                if (event.offset > maxPlayPosition) 
                {
                    seeking = true;
                    setTimeout(function () 
                    { 
                        jwplayer().seek(maxPlayPosition); 
                    }, 100);
                }
            } 
            else 
            {
                seeking = false;
            }    
        });

Origin JWPlayer Prevent SKipping forward unless already watched

Community
  • 1
  • 1
Hearaman
  • 8,466
  • 13
  • 41
  • 58
0

This works for me:

var position = 0;

jwplayer().on('time', function(e) {

   var positionDiff = e.position - position;

   if (positionDiff > 1) {
       jwplayer().seek(position);
   } else {
       var position = e.position;
   }
});

If you forward the video, positionDiff will be greater than 1, so I return the video to the previous position.