- Author: Hai-Nam Nguyen (jcisio)
- Homepage: https://github.com/jcisio/MediaWrapper
- Requires PHP 5.6 or later
- It is used by Drupal modules like Internet Sources field or Content Attachment.
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
MediaWrapper is extensible.
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();
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.
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.