0

Just some resources to help to help me find a solution :)

  1. Fully functioning Chromeless player lacking only ui slider synchronisation with video current time : http://jsfiddle.net/GR7Z2/45/
  2. jquery UI slider documentation http://jqueryui.com/demos/slider/#option-value
  3. tikku chromless player plugins documentation http://www.tikku.com/jquery-youtube-tubeplayer-plugin#tubeplayer_tutorial_3

The problem I am having is setting the jquery slider value to the current time in seconds and keep in sync with the current time i have tried:

  var seektime = $("#youtube-player-container").tubeplayer("data").currentTime;
                $( "#slider" ).slider( "option", "value", seektime );

ALTHOUGH i have already figured how to seek to a time in the video using the slider the jquery is very long and messy soo i reccomend viewing it on jsfiddle http://jsfiddle.net/GR7Z2/45/ for a clearer understanding but here it is any way

$(".pause").hide();
$(".unmute").hide();
jQuery("#youtube-player-container").tubeplayer({
    width: 600,
    height: 450,
    showControls: 0,
    allowFullScreen: "true", 
    modestbranding: false,
    initialVideo: "Y70rcfQEK7U",
    preferredQuality: "default",
    onPlay: function(id){$(".play").hide();}, 
    onPause: function(){$(".pause").hide();$(".play").show();},
    onStop: function(){$(".pause").hide();$(".play").show();},
    onSeek: function(time){},
    onMute: function(){$(".mute").hide();$(".unmute").show();},
    onUnMute: function(){$(".unmute").hide();$(".mute").show();},
    onPlayerUnstarted: function(){},
    onPlayerPlaying: function(){$(".play").hide();$(".pause").show();},
    onPlayerBuffering: function(){$(".pause").show();}
});
$(".play").click(function(){
    $("#youtube-player-container").tubeplayer("play");
});
$(".pause").click(function(){
    $("#youtube-player-container").tubeplayer("pause");
}); 
$(".stop").click(function(){
    $("#youtube-player-container").tubeplayer("stop");
});
$(".mute").click(function(){
    $("#youtube-player-container").tubeplayer("mute");
}); 
$(".unmute").click(function(){
    $("#youtube-player-container").tubeplayer("unmute");
});

        function getYouTubeInfo() {
                $.ajax({
                        url: "http://gdata.youtube.com/feeds/api/videos/Y70rcfQEK7U?v=2&alt=jsonc",
                        dataType: "json",
                        success: function (data) {parseresults(data)}
                });
        }

        function parseresults(result) {
                console.log(result);    
                var vidlength = result.data.duration;   

                $('#vidlength').html(vidlength); 
            $(function() {
        $( "#slider" ).slider({ max: vidlength });
 $( "#slider" ).bind( "slidechange", function(event, ui) {
  var viseekto = $('#slider').slider('value');
     jQuery("#youtube-player-container")
       .tubeplayer("seek", viseekto);
});
  var seektime = $("#youtube-player-container").tubeplayer("data").currentTime;
                $( "#slider" ).slider( "option", "value", seektime );

    });
        }
$(document).ready(function () {
        getYouTubeInfo();
});
Fiddler
  • 45
  • 6

1 Answers1

1

Im looking at the exact same solution as you are building here.

Thank you for the slider function!

I've finished the script by doing this:

$( "#slider" ).slider({ 
    max: $("#video").tubeplayer("data").duration,
    stop: function(event, ui) {
        var viseekto = $('#slider').slider('value');
        jQuery("#video").tubeplayer("seek", viseekto);
    },
});
window.setInterval(function() {
    var seektime = $("#video").tubeplayer("data").currentTime;
    $( "#slider" ).slider( "option", "value", seektime );
}, 1000);

Hope it helps!

Christoffer
  • 482
  • 7
  • 32