h5 video标签播放任意路径下的视频文件 |
您所在的位置:网站首页 › h5添加本地视频 › h5 video标签播放任意路径下的视频文件 |
html中用video标签播放视频代码如下,
xxx.mp4需要放在项目里部署在container里,如果视频文件多或者需要动态上传,全扔在项目里不合适,需要可以读取任意路径下的视频文件供h5的video标签播放。
核心代码如下,简单说就是要在response的header里补几个属性,同时将request里的Range拿出来取出来计算后面的内容 File file = new File("d:/test/video/abc.mp4"); FileInputStream in = null; ServletOutputStream out = null; try { String range = request.getHeader("Range"); String[] rs = range.split("\\="); range = rs[1].split("\\-")[0]; in = new FileInputStream(file); long length = file.length(); int irange = Integer.parseInt(range); length = length - irange; response.addHeader("Accept-Ranges", "bytes"); response.addHeader("Content-Length", length + ""); response.addHeader("Content-Range", "bytes " + range + "-" + length + "/" + length); response.addHeader("Content-Type", "audio/mpeg;charset=UTF-8"); out = response.getOutputStream(); int len = 0; byte[] b = new byte[1024]; in.read(); while ((len = in.read(b)) != -1) { out.write(b, 0, len); } } catch (Exception e) { e.printStackTrace(); }finally{ try { if(out != null){ out.close(); } if(in != null){ in.close(); } } catch (IOException e) { e.printStackTrace(); } }另外把video的src换成servlet的地址就可以了
用spring controller的也是类似的做法
ps: 写博客的“文章标签”有个bug, 无法输入中文。估计是监控了键盘输入事件,而不是控件的值变事件。这个错我也犯过。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |