Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jgallen23/videojs-playLists

VideoJS playlists done right!
https://github.com/jgallen23/videojs-playLists

Last synced: 3 months ago
JSON representation

VideoJS playlists done right!

Awesome Lists containing this project

README

        

#videojs-playlists

Sexy Playlists for VideoJS.

##Installation

###Bower

`bower install videojs-playlists`

###Manual Download

- [Development]()
- [Production]()

##Usage

### Initialize playList

In order to initialize `playList` you need to pass an array of videos with this structure:

```js
videos = [
{
src : [
'http://stream.flowplayer.org/bauhaus/624x260.webm',
'http://stream.flowplayer.org/bauhaus/624x260.mp4',
'http://stream.flowplayer.org/bauhaus/624x260.ogv'
],
poster : '',
title : 'Whales'
},
{
src : [
'http://vjs.zencdn.net/v/oceans.mp4',
'http://vjs.zencdn.net/v/oceans.webm'
],
poster : 'http://www.videojs.com/img/poster.jpg',
title : 'Ocean'
}
];
```

Now, when videos plays they automatically jump to the next one. You also gain a couple of methods

### Jump to video

Use `player.playList(index)` to jump to a video into the playlist.

### next

VideoJS receives a `next()` function which put in place the next video.

### prev

VideoJS receives a `prev()` function which put in place the previous video.

### Events

NameDescription
nextFired when you use the `next()` function or when one video finish and the next starts.
prevFired when you use the `prev()` function.
lastVideoEndedFired when the playlist has finished.

A [demo](http://belelros.github.io/videojs-playLists/) is now available to showcase what you can create with this plugin.

##Pending

Pass video parameter to `next` and `prev` events. That should need to rewrite the trigger function from videojs since
doesn't allow passing events.

As a workaround, the `player.pl.current` is updated with the actual index and `player.pl.currentVideo` contains the
video object.

##Development

###Requirements

- node and npm
- bower `npm install -g bower`
- grunt `npm install -g grunt-cli`

###Setup

- `npm install`
- `bower install`

###Run

`grunt dev`

or for just running tests on file changes:

`grunt ci`

###Tests

`grunt mocha`