PHP与视频插件功能实现

举报
原来是咔咔 发表于 2022/03/27 02:09:31 2022/03/27
【摘要】 php与视频播放器插件的功能,说白了就是前端是播放器的插件,直接调用后端传递过来的播放地址,还有其他的一些信息,比如封面图面,名称,播放时间,地址等等。这些需要在后台把这些封装起来,可以存储在数据库里,方便调用。以上就是思路。想起来是不是很简单。做起来也差不多咯。 首先,前端引入播放器插件,这种插件,网上推荐很多,这里推荐:视频播放插件...

php与视频播放器插件的功能,说白了就是前端是播放器的插件,直接调用后端传递过来的播放地址,还有其他的一些信息,比如封面图面,名称,播放时间,地址等等。这些需要在后台把这些封装起来,可以存储在数据库里,方便调用。以上就是思路。想起来是不是很简单。做起来也差不多咯。
首先,前端引入播放器插件,这种插件,网上推荐很多,这里推荐:视频播放插件ckplayer,可以到官网下载的。下载后添加到网站根目录

特别提醒:解压后不要忘了把js文件夹也添加到你的网站根目录。这个主要是为了各浏览器的兼容性的,如果不添加,在ie,Firefox上有可能不能用!
 

 


  
  1. 1,首先在页面头部引入:
  2. <script src="ckplayer/ckplayer.js"></script>
  3. 2,在body部分放一个div:
  4. <div style=" width:660px;margin:0 auto;">
  5. <div id="a1"></div>
  6. </div>
  7. 3,在script中的windows.load时间里,或者在2步骤的div后面放入一下脚本:
  8. <script type="text/JavaScript">
  9. var flashvars = {
  10. f: 'video/card.mp4',//视频地址
  11. //如果你不需要某项设置,可以直接删除,注意var flashvars的最后一个值后面不能有逗号
  12. a: '',//调用时的参数,只有当s>0的时候有效
  13. s: '0',//调用方式,0=普通方法(f=视频地址),1=网址形式,2=xml形式,3=swf形式(s>0时f=网址,配合a来完成对地址的组装)
  14. c: '0',//是否读取文本配置,0不是,1是
  15. x: '',//调用xml风格路径,为空的话将使用ckplayer.js的配置
  16. i: 'video/1.jpg',//初始图片地址
  17. d: 'video/1.jpg',//暂停时播放的广告,swf/图片,多个用竖线隔开,图片要加链接地址,没有的时候留空就行
  18. u: 'http://www.vqisoft.com/',//暂停时如果是图片的话,加个链接地址
  19. l: '',//前置广告,swf/图片/视频,多个用竖线隔开,图片和视频要加链接地址
  20. r: '',//前置广告的链接地址,多个用竖线隔开,没有的留空
  21. t: '10|10',//视频开始前播放swf/图片时的时间,多个用竖线隔开
  22. y: '',//这里是使用网址形式调用广告地址时使用,前提是要设置l的值为空
  23. z: 'http://www.ckplayer.com/down/buffer.swf',//缓冲广告,只能放一个,swf格式
  24. e: '2',//视频结束后的动作,0是调用js函数,1是循环播放,2是暂停播放并且不调用广告,3是调用视频推荐列表的插件,4是清除视频流并调用js功能和1差不多,5是暂停播放并且调用暂停广告
  25. v: '80',//默认音量,0-100之间
  26. p: '0',//视频默认0是暂停,1是播放
  27. h: '0',//播放http视频流时采用何种拖动方法,=0不使用任意拖动,=1是使用按关键帧,=2是按时间点,=3是自动判断按什么(如果视频格式是.mp4就按关键帧,.flv就按关键时间),=4也是自动判断(只要包含字符mp4就按mp4来,只要包含字符flv就按flv来)
  28. q: '',//视频流拖动时参考函数,默认是start
  29. m: '0',//默认是否采用点击播放按钮后再加载视频,0不是,1是,设置成1时不要有前置广告
  30. o: '',//当m=1时,可以设置视频的时间,单位,秒
  31. w: '',//当m=1时,可以设置视频的总字节数
  32. g: '',//视频直接g秒开始播放
  33. j: '',//视频提前j秒结束
  34. k: '',//提示点时间,如 30|60鼠标经过进度栏30秒,60秒会提示n指定的相应的文字
  35. n: '',//提示点文字,跟k配合使用,如 提示点1|提示点2
  36. wh: '',//这是6.2新增加的宽高比,可以自己定义视频的宽高或宽高比如:wh:'4:3',或wh:'1080:720'
  37. ct: '2',//6.2新增加的参数,主要针对有些视频拖动时时间出错的修正参数,默认是2,自动修正,1是强制修正,0是强制不修正
  38. //调用播放器的所有参数列表结束
  39. //以下为自定义的播放器参数用来在插件里引用的
  40. my_url: encodeURIComponent(window.location.href)//本页面地址
  41. //调用自定义播放器参数结束
  42. };
  43. var params = { bgcolor: '#FFF', allowFullScreen: true, allowScriptAccess: 'always' };//这里定义播放器的其它参数如背景色(跟flashvars中的b不同),是否支持全屏,是否支持交互
  44. var attributes = { id: 'ckplayer_a1', name: 'ckplayer_a1', menu: 'false' };
  45. //下面一行是调用播放器了,括号里的参数含义:(播放器文件,要显示在的div容器,宽,高,需要flash的版本,当用户没有该版本的提示,加载初始化参数,加载设置参数如背景,加载attributes参数,主要用来设置播放器的id)
  46. CKobject.embedSWF('ckplayer/ckplayer.swf', 'a1', 'ckplayer_a1', '650', '380', flashvars, params);
  47. var video = ['http://movie.ks.js.cn/flv/other/1_0.mp4->video/mp4', 'http://www.ckplayer.com/webm/0.webm->video/webm', 'http://www.ckplayer.com/webm/0.ogv->video/ogg'];
  48. var support = ['iPad', 'iPhone', 'iOS', 'Android+false', 'msie10+false'];//默认的在ipad,iphone,ios设备中用HTML5播放,android,ie10上没有安装flash的也调用html5
  49. CKobject.embedHTML5('video', 'ckplayer_a1', 600, 400, video, flashvars, support);
  50. </script>
  51. 调用HTML5播放器代码
  52. <!DOCTYPE html>
  53. <html xmlns="http://www.w3.org/1999/xhtml">
  54. <head>
  55. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  56. <title>ckplayer只调用html5播放器</title>
  57. </head>
  58. <body>
  59. <div id="a1"></div>
  60. <script type="text/javascript" src="ckplayer/ckplayer.js" charset="utf-8"></script>
  61. <script type="text/javascript">
  62. var flashvars={
  63. p:1,
  64. e:1,
  65. hl:'http://movie.ks.js.cn/flv/other/1_0.mp4',
  66. ht:'20',
  67. hr:'http://www.ckplayer.com'
  68. };
  69. var video=['http://movie.ks.js.cn/flv/other/1_0.mp4->video/mp4','http://www.ckplayer.com/webm/0.webm->video/webm','http://www.ckplayer.com/webm/0.ogv->video/ogg'];
  70. var support=['all'];
  71. CKobject.embedHTML5('a1','ckplayer_a1',600,400,video,flashvars,support);
  72. </script>
  73. </body>
  74. </html>
  75. 可见上面的例子里,播放器需要的数据都是静态填上的,如果需要用到PHP,也就是后端,其实就是直接传递,渲染数据,前端的flashvars所需要的数据,都可以在后端存储后动态调用。
  76. <?php
  77. public function flashvars($input)
  78. {
  79. if(empty($input)){
  80. throw new Exception("参数不存在", 1);
  81. }
  82. //获取数据前提是已经在后台设置好了数据,这里直接获取
  83. $result = "加入这里是从数据表里取出数据";
  84. $data = [
  85. 'p' => result['p'],
  86. 'e' => result['e'],
  87. 'hl' => result['hl'],
  88. 'ht' => result['ht'],
  89. 'hr' => result['hr'],
  90. 'video' => result['video'], //video这里可以有多个播放链接地址的
  91. ];
  92. /*p:1,
  93. e:1,
  94. hl:'http://movie.ks.js.cn/flv/other/1_0.mp4',
  95. ht:'20',
  96. hr:'http://www.ckplayer.com'
  97. var video=['http://movie.ks.js.cn/flv/other/1_0.mp4->video/mp4','http://www.ckplayer.com/webm/0.webm->video/webm','http://www.ckplayer.com/webm/0.ogv->video/ogg'];
  98. var support=['all'];*/
  99. //接下来就是渲染到视图咯
  100. return ('/view.html',$data); //这里只是做示例,用框架的得用框架的语法来!
  101. }

 

文章来源: blog.csdn.net,作者:咔咔-,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/fangkang7/article/details/82783271

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。