Skip to content

Media wrapper to use (get thumbnail, get embed code...) media resources provided by YouTube, DailyMotion...

License

Notifications You must be signed in to change notification settings

jcisio/MediaWrapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Code Climate Test Coverage

Introduction

Quick start

Example:

include 'MediaWrapper/MediaWrapper.php';
$m = MediaWrapper::getInstance()->getWrapper('http://www.youtube.com/watch?v=vyfzw09jjEo');
// Print the thumbnail.
print $m->thumbnail();
// Print the full player.
print $m->player();
// Set default player options.
$m->player_options(array('width' => '200', 'height' => '100'));
// Print the full player again with new default options.
print $m->player();
// Override default options and print the full player.
print $m->player(array('height' => '120'));

Test with PHPUnit:

phpunit

or if you don't have PHPUnit:

Composer install --dev
vendor/phpunit/phpunit/phpunit

Use cases

MediaWrapper is extensible.

Write your own wrapper

You can look at the MediaWrapper/Wrapper folder for examples. Once you have your wrapper, include that file and register that wrapper using

MediaWrapper::getInstance()->register();

Override the output

You can extend a wrapper, keep the pattern and override the player() function. Do not forget to unregister the old wrapper so that only yours takes care of that pattern.

Responsive player

MediaWrapper in most cases uses the default player provided by each service. To make the player responsive (e.g. width = 100%), you can use CSS to make the iframe responsive. There are a lot of tutorials out there.

Another solution is to use the excellent and tiny Fitvids JS jQuery plugin to make all videos responsive. It takes care of your CSS.

About

Media wrapper to use (get thumbnail, get embed code...) media resources provided by YouTube, DailyMotion...

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages