godscodes/laravel-video-embed

支持缩略图的 godscodes/MediaEmbed 的 Laravel 扩展包

dev-master 2024-02-06 05:23 UTC

This package is auto-updated.

Last update: 2024-09-06 06:36:45 UTC


README

用于生成流行媒体托管服务的嵌入 HTML 的 dereuromark/MediaEmbed 的简单包装器。 + 基于 Joe1992w/laravel-media-embed 的缩略图功能。

安装

composer require godscodes/laravel-video-embed:dev-master

或者

"require": {
    "godscodes/laravel-video-embed": "dev-master",
},
composer install

服务提供者

'providers' => [
    // Others...
    Merujan99\LaravelVideoEmbed\Providers\LaravelVideoEmbedServiceProvider::class,
],

外观

'aliases' => [
    // Others...
    'LaravelVideoEmbed' => Merujan99\LaravelVideoEmbed\Facades\LaravelVideoEmbed::class,
],

发布配置设置

完成上述步骤后,使用以下命令发布配置设置

php artisan vendor:publish --provider="Merujan99\LaravelVideoEmbed\Providers\LaravelVideoEmbedServiceProvider"

然后只需添加

use LaravelVideoEmbed;

到您的控制器中

用法

//URL to be used for embed generation
$url = "https://www.youtube.com/watch?v=8eK-5ivYb3o";

//Optional array of website names, if present any websites not in the array will result in false being returned by the parser
$whitelist = ['YouTube', 'Vimeo'];

//Optional parameters to be appended to embed
$params = [
    'autoplay' => 1,
    'loop' => 1
  ];

//Optional attributes for embed container
$attributes = [
  'type' => null,
  'class' => 'iframe-class',
  'data-html5-parameter' => true
];

return LaravelVideoEmbed::parse($url, $whitelist);
// "<iframe src="https://www.youtube.com/embed/8eK-5ivYb3o?wmode=transparent" type="text/html" width="480" height="295" frameborder="0" allowfullscreen></iframe>"

return LaravelVideoEmbed::parse($url);
// "<iframe src="https://www.youtube.com/embed/8eK-5ivYb3o?wmode=transparent" type="text/html" width="480" height="295" frameborder="0" allowfullscreen></iframe>"

return LaravelVideoEmbed::parse($url, ['Vimeo']);
// false

return LaravelVideoEmbed::parse($url, $whitelist, $params, $attributes)
//<iframe src="https://www.youtube.com/embed/8eK-5ivYb3o?wmode=transparent&amp;autoplay=1&amp;loop=1" type="" width="480" height="295" frameborder="0" allowfullscreen class="iframe-class" data-html5-parameter></iframe>

return LaravelVideoEmbed::getYoutubeThumbnail($url)
//https://<youtube image thumbnail with max resolution>. usage: <img src="{{ LaravelVideoEmbed::getYoutubeThumbnail($url) }}"> 

支持的主机

请参阅 dereuromark/MediaEmbed

支持的网站白名单名称