使用格式工厂avi转mp4无图像仅有声音
mp4有3种编码,mpg4(xdiv),mpg4(xvid),avc(h264),只有h264才是公认的MP4标准编码,因此需要设置编码格式为avc

layer层视频全屏样式错乱
在layer弹窗组件中
如果使用了flash播放器,全屏是正常的
但若使用了HTML5的播放器,全屏失效

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title></title><script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script><script src="layer/layer.js"></script><style></style>
</head>
<body>
<h1>h5 video</h1>
<div id="box">
<video id="video" controls preload="auto" width="400px" height="300px"><source src="http://movie.ks.js.cn/flv/other/1_0.mp4" type="video/mp4">
</video>
</div>
<script>layer.open({type: 1,title: false,shadeClose: true,area: ['400px', '350px'],content: $('#box'),success: function(layero){//layer样式layer-anim导致全屏样式错乱,移除该样式即可setTimeout(function() {$(layero).removeClass('layer-anim');}, 0);}});
</script>
</body>
</html>

setTimeout(function(){},0)函数说明
起因源于一道前端笔试题:

var fuc = [1,2,3];
for(var i in fuc){setTimeout(function(){console.log(fuc[i])},0);console.log(fuc[i]);
}

问:控制台会如何打印?

chrome打印结果如下:
1,2,3,3,3,3

虽然setTimeout函数在每次循环的开始就调用了,但是却被放到循环结束才执行,循环结束,i=3,接连打印了3次3。

这里涉及到javascript单线程执行的问题:javascript在浏览器中是单线程执行的,必须在完成当前任务后才执行队列中的下一个任务。
另外,对于javascript还维护着一个setTimeout队列,未执行的setTimeout任务就按出现的顺序放到setTimeout队列,等待普通的任务队列中的任务执行完才开始按顺序执行积累在setTimeout中的任务。
所以在这个问题里,会先打印1 2 3,而将setTimeout任务放到setTimeout任务队列,等循环中的打印任务执行完了,才开始执行setTimeout队列中的函数,所以在最后会接着打印3次3。
如果代码中设定了一个 setTimeout,那么浏览器便会在合适的时间,将代码插入任务队列,如果这个时间设为 0,就代表立即插入队列,但不是立即执行,仍然要等待前面代码执行完毕。
用处就在于我们可以改变任务的执行顺序!因为浏览器会在执行完当前任务队列中的任务,再执行setTimeout队列中积累的的任务。
通过设置任务在延迟到0s后执行,就能改变任务执行的先后顺序,延迟该任务发生,使之异步执行。

使用flash播放
此处使用ckplayer插件,具体参考ckplayer官方文档,自动检测浏览器对 HTML5 的支持情况,如果不支持 HTML5 则自动使用 Flash 播放器

<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<%@ include file="/include/meta_fxzr.jsp"%><head>    <title>视频教程列表</title>    <meta charSet="utf-8" /><meta httpEquiv="X-UA-Compatible" content="IE=edge" /><meta httpEquiv="Cache-Control" content="no-siteapp" /><meta name="renderer" content="webkit" /><meta name="keywords" content="demo" /><meta name="description" content="demo" /></head><body><div style="text-align:center;"><div class="video" style="width: 100%;height: 100%;"></div></div><script type="text/javascript" src="${ctx}/res/dist/js/ckplayer/ckplayer/ckplayer.js"></script><script type="text/javascript">var videoObject = {container: '.video',//“#”代表容器的ID,“.”或“”代表容器的classvariable: 'player',//该属性必需设置,值等于下面的new chplayer()的对象loaded:'loadedHandler',//监听播放器加载成功autoplay:true,//自动播放//video:'http://118.180.24.208:8090//file-rest/uploads/001/003/2017-12-20/ff808081604959760160735aa78e0125.mp4'//视频地址video:'${url}'  };var player=new ckplayer(videoObject);function loadedHandler(){//播放器加载后会调用该函数player.addListener('time', timeHandler); //监听播放时间,addListener是监听函数,需要传递二个参数,'time'是监听属性,这里是监听时间,timeHandler是监听接受的函数}function timeHandler(t){console.log('当前播放的时间:'+t);}</script></body>
</html>

jsp页面添加视频播放相关推荐

  1. Jsp 页面添加动态水印

    //从session 中读取需要的信息 <% javacommon.base.LoginUser user = (javacommon.base.LoginUser) session.getAt ...

  2. java,jsp页面添加提示图以及提示音乐

    效果如下: 前台代码 <!-- 使用h5写的提醒图片--><style> .tx{ width:38px;height:30px;display:inline- block;b ...

  3. JSP页面添加播放视频功能

    2019独角兽企业重金招聘Python工程师标准>>> <video id="video" controls preload="auto" ...

  4. java jsp页面如何添加C标签

    在https://mvnrepository.com/找两个jar包分别是: <dependency> <groupId>javax.servlet.jsp.jstl</ ...

  5. eclipse中jsp页面图片不显示问题

    问题记录: 在给一个web项目里的jsp页面添加一个背景图片,使用background:url的方式获取图片路径,但是一直不显示,最后发现还是根本路径的问题. 解决: 使用java代码获取项目根路径, ...

  6. JSP页面和html页面中文乱码的解决

    1.在JSP页面添加 <%@ page contentType="text/html; charset=utf-8" %> <%--这里的utf-8是指服务器发送 ...

  7. 添加与编辑共用一个jsp页面时,控制按钮的显示与隐藏

    场景 添加与编辑共用一个jsp页面,后台action传过来 op参数,如果是edit则执行编辑,如果是add,则执行添加. 如果是编辑页面则显示充值按钮,如果是添加页面则不显示. 实现 后台actio ...

  8. SpirngMVC jsp页面空指针

    SpirngMVC jsp页面空指针 ,这个错误基本上是jar包冲突,我看网上很多的方案 <dependency><groupId>javax.servlet</grou ...

  9. MyEclipse设置JSP页面默认编码方式

    MyEclipse设置JSP页面默认编码方式以及设置在Java文件中作者.日期等说明 MyEclipse设置JSP页面默认编码方式: windows(窗口)-Preferences(首选项)-MyEc ...

最新文章

  1. MTCNN-将多任务级联卷积神经网络用于人脸检测和对齐
  2. Hadoop学习之第七章节:Hive安装配置
  3. intellij IDEA怎样打war包
  4. merge into用法mysql_SQL中merge into用法
  5. C 语言编程 — 编程规范
  6. 树莓派上操作环境安装配置
  7. 13. sizeof 和 strlen 的区别
  8. CentOS 7 下安装 mysql ,以及用到的命令
  9. linux系统报警怎么办,常见Linux系统故障和解决方法
  10. 进程间通信之2----共享内存
  11. xssfworkbook excel打开为空白_「Excel」轻松运用 Excel 之“Excel 选项”的 4 个设置
  12. 常用Physionet命令整理
  13. [转]vs2003,安装程序检测到另一个程序要求计算机重新启动
  14. 员工离职困扰?来看AI如何解决,基于人力资源分析的 ML 模型构建全方案 ⛵
  15. 别觉得自己PS很牛,看完这位俄罗斯大神作品后,会觉得只是小牛牛
  16. Linux内核--通知链事件notifier chain
  17. Notes Fifteenth Day-渗透攻击-红队-内部信息搜集
  18. java开发速成班培训课程(1)
  19. 普林斯顿和宾大沃顿早申录取公布,常青藤精英教育一举拿下
  20. 华为正式发布方舟编译器,相关源码已开放下载;微软开源量子开发工具包 QDK;GitHub回应突然断供:也很无可奈何的样子……...

热门文章

  1. 对CSDN新个人空间的看法
  2. python可变参数调用函数问题
  3. SQL Server数据库单用户模式设置
  4. AnalysisException: cannot resolve ‘`Magnitude Type`‘ given input columns: [Date, Day, Depth, Latitud
  5. ​git拉取远程分支到本地 ​
  6. zabbix监控原理及配置方法
  7. 贪吃蛇大作战,C# WPF 实现两条贪吃蛇,有用户名注册,成绩展示,历史记录排序
  8. vlookup 2张表 显示na_Vlookup函数8种使用技巧详解
  9. react性能优化-懒加载原理
  10. vue-resource使用 (vue仿百度搜索)