• 网页中插入视频的方案


    今天讨论网页中插入视频的方案,咱不讨论video标签的使用方法,video标签比较兼容的写法为:

     1 <video width="800" height="">
     2         <source src="myvideo.mp4" type="video/mp4"></source>
     3         <source src="myvideo.ogv" type="video/ogg"></source>
     4         <source src="myvideo.webm" type="video/webm"></source>
     5         <object width="" height="" type="application/x-shockwave-flash" data="myvideo.swf">
     6             <param name="movie" value="myvideo.swf" />
     7             <param name="flashvars" value="autostart=true&amp;file=myvideo.swf" />
     8         </object>
     9         当前浏览器不支持 video直接播放,点击这里下载视频: <a href="myvideo.webm">下载视频</a>
    10     </video>

    但是一般不会同一个视频生成MP4、ogg、webm和swf(flash)四种格式的视频,原因是太占用时间了。

    讨论的第一种方案是:将视频上传到爱奇艺、优酷和腾讯等第三方视频网站上,在使用第三方网站提供的代码(在视频下方的“分享”按钮中即可找到),具体测试代码为:

     1 <!DOCTYPE html>
     2 <html lang="zh">
     3 
     4     <head>
     5         <meta charset="UTF-8" />
     6         <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     7         <meta http-equiv="X-UA-Compatible" content="ie=edge" />
     8         <title>网页中插入视频的方法</title>
     9         <style type="text/css">
    10             * {
    11                 margin: 0;
    12                 padding: 0;
    13             }
    14             
    15             body {
    16                 text-align: center;
    17             }
    18             
    19             div {
    20                 font-size: 18px;
    21                 color: #2E8DED;
    22                 margin-top: 20px;
    23             }
    24         </style>
    25     </head>
    26 
    27     <body>
    28         <!--爱奇艺视频(无通用代码) 只支持PC端 IE8以上都可以-->
    29         <div>
    30             爱奇艺视频(无通用代码) 只支持PC端 IE8以上都可以
    31         </div>
    32         <embed src="http://player.video.qiyi.com/8b89d9c3ec3535c93ceaded663cc91c2/0/0/v_19rr7zq9xw.swf-albumId=715375800-tvId=715375800-isPurchase=0-cnId=25" allowFullScreen="true" quality="high" width="480" height="350" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>
    33         <div>
    34             腾讯视频 全部支持 IE8以上都可以
    35         </div>
    36         <!--腾讯视频 全部支持 IE8以上都可以-->
    37         <iframe frameborder="0" width="640" height="498" src="https://v.qq.com/iframe/player.html?vid=p0521h3uu1a&tiny=0&auto=0" allowfullscreen></iframe>
    38         <div>
    39             优酷视频 全部支持 IE8以上都可以
    40         </div>
    41         <!--优酷视频 全部支持 IE8以上都可以-->
    42         <iframe height=498 width=510 src='http://player.youku.com/embed/XMjg2OTA1NDc5Mg==' frameborder=0 'allowfullscreen'></iframe>
    43     </body>
    44 
    45 </html>

    网页显示效果为:

    需要说明的是:在第三方视频网站上分享代码中选择通用的代码,这样可以使得PC端和移动端均能良好的展现视频。

    讨论的第二种方案是:使用ckplayer插件。

    ckplayer插件的官网为:http://www.ckplayer.com/

    官网上有在线配置功能,根据自己的需要进行配置,其中一个比较好测试代码为ckplayer调用html5播放器,

     1 <!DOCTYPE html>
     2 <html lang="zh">
     3 
     4     <head>
     5         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     6         <title>ckplayer调用html5播放器</title>
     7     </head>
     8 
     9     <body>
    10         <div id="a1"></div>
    11         <!--引入ckplayer.js-->
    12         <script type="text/javascript" src="ckplayer/ckplayer.js" charset="utf-8"></script>
    13         <script type="text/javascript">
    14             var flashvars = {
    15                 //p参数为是否自动播放,可以为 1 或 0,默认为 1,参数不为 1 时播放器加载完成后均为暂停状态。
    16                 p: 0,
    17                 //e为视频结束后的动作,0 停止播放并发送js,1 是不发送 js 且重新循环播放,2 停止播放,默认为2。
    18                 e: 1,
    19                 //i为视频播放器初始图片地址,即封面图片,默认为空。
    20                 i: 'http://www.ckplayer.com/static/images/cqdw.jpg'
    21             };
    22             //http://img.ksbbs.com/asset/Mon_1605/0ec8cc80112a2d6.mp4 为视频地址
    23             var video = ['http://img.ksbbs.com/asset/Mon_1605/0ec8cc80112a2d6.mp4->video/mp4'];
    24             var support = ['all'];
    25             //第一个100% 为宽度同样可以设置为像素,第二个100% 为高度同样可以设置为像素
    26             CKobject.embedHTML5('a1', 'ckplayer_a1', '100%', '100%', video, flashvars, support);
    27         </script>
    28     </body>
    29 
    30 </html>

    PC效果为:

    移动端效果为:

    说明:视频只需要使用目前浏览器支持最多的MP4格式即可,需要处理的视频格式少。其次是使用ckplayer插件可以比较完美的兼容PC和移动端浏览器(经测试IE8 视频播放不了)。

    2017-08-08更新

    ckplayer插件的api地址为:http://www.ckplayer.com/manual/13/54.htm

    使用方法:

    CKobject.getObjectById('ckplayer_a1').videoPlay();//播放视频

    总结:

    优先建议将视频上传到第三方视频网站,兼容性好,同时视频加载快,不会占用网站服务器的带宽资源。

    其次使用ckplayer插件在网页中插入本地视频。

    更新(2017-07-10):

    方案一的实例代码:

     1 <!DOCTYPE html>
     2 <html lang="zh">
     3 
     4     <head>
     5         <meta charset="UTF-8" />
     6         <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     7         <meta http-equiv="X-UA-Compatible" content="ie=edge" />
     8         <title>网页中插入视频的方法</title>
     9         <style type="text/css">
    10             * {
    11                 margin: 0;
    12                 padding: 0;
    13             }
    14             
    15             body {
    16                 text-align: center;
    17             }
    18         </style>
    19     </head>
    20 
    21     <body>
    22         <iframe frameborder="0" width="600" height="498" src="https://v.qq.com/iframe/player.html?vid=t0523oagtrj&tiny=0&auto=0" allowfullscreen></iframe>
    23         <!--<embed src="https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=r03996hk7rg&auto=0" allowFullScreen="true" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>-->
    24 
    25     </body>
    26 
    27 </html>

    效果如下图所示:

    或者使用embed标签,见实例代码:

     1 <!DOCTYPE html>
     2 <html lang="zh">
     3 
     4     <head>
     5         <meta charset="UTF-8" />
     6         <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     7         <meta http-equiv="X-UA-Compatible" content="ie=edge" />
     8         <title>网页中插入视频的方法</title>
     9         <style type="text/css">
    10             * {
    11                 margin: 0;
    12                 padding: 0;
    13             }
    14             
    15             body {
    16                 text-align: center;
    17             }
    18         </style>
    19     </head>
    20 
    21     <body>
    22         <!--<iframe frameborder="0" width="600" height="498" src="https://v.qq.com/iframe/player.html?vid=t0523oagtrj&tiny=0&auto=0" allowfullscreen></iframe>-->
    23         <embed src="https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=r03996hk7rg&auto=0" allowFullScreen="true" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>
    24 
    25     </body>
    26 
    27 </html>

    效果:

    但是使用embed标签在移动端无法显示视频。

    综合以上2个代码,我们可以对浏览器进行判断,在PC点使用embed标签,移动端使用iframe。具体见以下代码:

     1 <!DOCTYPE html>
     2 <html lang="zh">
     3 
     4     <head>
     5         <meta charset="UTF-8" />
     6         <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     7         <meta http-equiv="X-UA-Compatible" content="ie=edge" />
     8         <title>网页中插入视频的方法</title>
     9         <style type="text/css">
    10             * {
    11                 margin: 0;
    12                 padding: 0;
    13             }
    14             
    15             body {
    16                 text-align: center;
    17             }
    18         </style>
    19     </head>
    20 
    21     <body>
    22         <iframe frameborder="0" width="600" height="498" src="https://v.qq.com/iframe/player.html?vid=t0523oagtrj&tiny=0&auto=0" allowfullscreen id="iframe"></iframe>
    23         <embed src="https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=r03996hk7rg&auto=0" allowFullScreen="true" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" id="embed"></embed>
    24         <script type="text/javascript">
    25             var iframe = document.getElementById('iframe'),
    26                 embed = document.getElementById('embed');
    27             iframe.style.display = 'none';
    28             embed.style.display = 'none';
    29             var userAgentInfo = navigator.userAgent;
    30             var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod");
    31             var flag = false;
    32             var v = 0
    33             for(v = 0; v < Agents.length; v++) {
    34                 if(userAgentInfo.indexOf(Agents[v]) > 0) {
    35                     flag = true;
    36                     break;
    37                 }
    38             }
    39             //检测浏览器为移动端浏览器
    40             if(flag) {
    41                 
    42                 iframe.style.display = '';
    43                 embed.style.display = 'none';
    44             } else {
    45                 iframe.style.display = 'none';
    46                 embed.style.display = '';
    47             }
    48         </script>
    49     </body>
    50 
    51 </html>
  • 相关阅读:
    IndexOf、IndexOfAny 、Remove
    静态类、静态方法的使用
    面向对象 字段、方法、属性
    break、continue、return
    冒泡排序
    方法练习
    Oracle-查看oracle是否有表被锁
    教程-键盘扫描码
    网卡远程唤醒-远程开机再配合远程控制
    远程控制篇:在DELPHI程序中拨号上网
  • 原文地址:https://www.cnblogs.com/mengfangui/p/7122130.html
Copyright © 2020-2023  润新知