Giter Site home page Giter Site logo

davidanderson684 / jquery-tubeplayer-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nirvanatikku/jquery-tubeplayer-plugin

0.0 2.0 2.0 4.53 MB

jQuery YouTube Player Plugin

Home Page: http://tikku.com/jquery-youtube-tubeplayer-plugin

License: MIT License

JavaScript 75.20% CSS 3.43% Shell 0.05% HTML 21.31%

jquery-tubeplayer-plugin's Introduction

MetaSlider fork of jQuery TubePlayer Plugin

https://wordpress.org/plugins/ml-slider

https://github.com/DavidAnderson684/jQuery-TubePlayer-Plugin

jQuery TubePlayer Plugin

A jQuery wrapper around the YouTube Player API.

The TubePlayer plugin allows developers to focus on functionality as opposed to infrastructure around the YouTube player. The plugin exposes meaningful methods that are triggered based on state changes from the player API. The plugin also provides events that can be triggered on it allowing developers to create a customized player remote, programmatically control videos, gain access for analytics purposes and much more.

Getting Started

Download the production version or the development version.

In your web page:

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-tubeplayer/2.1.0/jquery.tubeplayer.min.js"></script>
<div id='youtube-video-player'></div>
<script type="text/javascript">
jQuery(document).ready(function(){
    jQuery("#youtube-video-player").tubeplayer({
        initialVideo: "kOkQ4T5WO9E",
        onPlayerLoaded: function(){
            console.log(this.tubeplayer("data"));
        },
    });
});
</script>

Documentation

TubePlayer Plugin Defaults

$.tubeplayer.defaults.settings = {
    
    // Plugin init params
    width: 480,                                     // the width of the player
    height: 270,                                    // the height of the player
    allowFullScreen: "true",                        // true by default, allow user to go full screen
    initialVideo: "DkoeNLuMbcI",                    // the video that is loaded into the player
    playlist: null,                                 // array of video id's if a playlist is desired
    start: 0, 
    preferredQuality: "default",                    // preferred quality: auto, small, medium, large, hd720
    controls: 1,                                    // whether the player should have the controls visible, 0 or 1 or 2
    showRelated: false,                             // show the related videos when the player ends, 0 or 1 
    playsinline: false,                             // setting for ipad
    autoPlay: false,                                // whether the player should autoplay the video, 0 or 1
    color: "red",                                   // possible options: "red" or "white"
    showinfo: false,                                // if you want the player to include details about the video
    modestbranding: true,                           // specify to include/exclude the YouTube watermark
    annotations: true,                              // show annotations?
    loop: 0,                                        // whether or not the player will loop
    protocol: 'http', 

    // Player Trigger Specific Functionality
    onPlay: function(id){},                         // after the play method is called
    onPause: function(){},                          // after the pause method is called
    onStop: function(){},                           // after the player is stopped
    onSeek: function(time){},                       // after the video has been seeked to a defined point
    onMute: function(){},                           // after the player is muted
    onUnMute: function(){},                         // after the player is unmuted
    
    // Player State Change Specific Functionality
    onPlayerUnstarted: function(){},                // player returns a state of unstarted
    onPlayerEnded: function(){},                    // player returns a state of ended
    onPlayerPlaying: function(){},                  // player returns a state of playing
    onPlayerPaused: function(){},                   // player returns a state of paused
    onPlayerBuffering: function(){},                // player returns a state of buffering
    onPlayerCued: function(){},                     // player returns a state of cued
    onPlayerLoaded: function(){},                   // player is initially loaded and attached to the DOM
    onQualityChange: function(quality){},           // player quality changes
    onRateChange: function(rate){},                 // player rate changes
    
    // Error State Specific Functionality
    onErrorNotFound: function(){},                  // if a video cant be found
    onErrorNotEmbeddable: function(){},             // if a video isnt embeddable
    onErrorInvalidParameter: function(){}           // if we've got an invalid param and can't play
    
};

Player API Events (tubeplayer options)

User invoked callbacks

onPlay
onPause
onStop
onSeek
onMute
onUnMute

Player invoked callbacks

onPlayerUnstarted
onPlayerEnded
onPlayerPlaying
onPlayerPaused
onPlayerBuffering
onPlayerCued
onPlayerLoaded
onQualityChange
onRateChange

onErrorNotFound
onErrorNotEmbeddable
onErrorInvalidParameter

TubePlayer API Methods

Player

jQuery("#player").tubeplayer("cue", playerId);

jQuery("#player").tubeplayer("play");
jQuery("#player").tubeplayer("play", videoId);
jQuery("#player").tubeplayer("play", {id: videoId, time: 0});

jQuery("#player").tubeplayer("pause");
jQuery("#player").tubeplayer("stop");

jQuery("#player").tubeplayer("seek", "0:32");
jQuery("#player").tubeplayer("seek", 100); // or use seconds

jQuery("#player").tubeplayer("size", {width:400,height:300});

jQuery("#player").tubeplayer("destroy");

jQuery("#player").tubeplayer("player");

Sound

jQuery("#player").tubeplayer("mute");
jQuery("#player").tubeplayer("unmute");
jQuery("#player").tubeplayer("isMuted");

jQuery("#player").tubeplayer("volume");
jQuery("#player").tubeplayer("volume",50); // 0-100

Playback

jQuery("#player").tubeplayer("quality");
jQuery("#player").tubeplayer("quality", "hd720"); // video must support this and be sized appropriately

jQuery("#player").tubeplayer("playbackRate"); 
jQuery("#player").tubeplayer("playbackRate", 1.5); // video must support this

Playlist

jQuery("#player").tubeplayer("cuePlaylist", [videoId1, videoId2]);
jQuery("#player").tubeplayer("cuePlaylist", {playlist: [videoId1, videoId2], index: 1});

jQuery("#player").tubeplayer("playPlaylist", [videoId1, videoId2]);
jQuery("#player").tubeplayer("playPlaylist", {playlist: [videoId1, videoId2], index: 1});

jQuery("#player").tubeplayer("next");
jQuery("#player").tubeplayer("previous");
jQuery("#player").tubeplayer("playVideoAt", 1);

Data/Info

jQuery("#player").tubeplayer("data");
jQuery("#player").tubeplayer("opts");
jQuery("#player").tubeplayer("videoId");

Testing

Unit Tests

The test/ folder contains the unit test scripts. This is a good place to get an idea for what's going on. You can also get some insight into the things the plugin can do.

TubePlayer Debug Console

The test_console/ folder within this repository, contains a fully functional debug console for the tubeplayer project.

The console enables the quick creation and destruction of a youtube player with UI controls to supplement the various specified inputs. The console allows the user to invoke operations and observe the effects (e.g. onPlayerPlaying, onPlay), by printing each action being invoked on the TubePlayer plugin while going through them. Additionally, the console has the necessary links to follow up in API docs.

In order to use the console, you will need to run a web server. A simple example would be to use python's SimpleHTTPServer. Here is an example of how to create host one on port 8082, from your command line navigate to the appropriate directory you want to serve up and then:

python -m SimpleHTTPServer 8082

There is a bash script that will run the debug console from the root directory. Assuming $CWD is the root directory:

./scripts/server.sh

To access..

  • the debug console, navigate to http://localhost:8082/test_console/index.html
  • the unit tests, navigate to http://localhost:8082/test/tubeplayer.html

Changelog

A detailed overview of the release notes can be found in the CHANGELOG.

License

Copyright (c) Nirvana Tikku Licensed under the MIT license.

jquery-tubeplayer-plugin's People

Contributors

akamensky avatar davidanderson684 avatar dzuelke avatar ivanca avatar jasondyalog avatar kevinbatdorf avatar mihai-vlc avatar mmetro avatar nirvanatikku avatar passkey1510 avatar tompatros avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.