SpringMVC 字节流实现播放多媒体
来源:互联网 发布:用友软件凭证打印 编辑:程序博客网 时间:2024/05/16 11:56
1、前言
在项目中,我们会遇到在线预览,播放MP3、图片、MP4等。用户上传文件后,将路径存储在数据库中,我们可动态读取数据库的数据,然后通过返回文件路径的字符串,在src中发送请求。当然这需要带参数。后台返回流。
2、前台代码:
<script type="text/javascript">function getVideo(id){window.location.href="${pageContext.request.contextPath }/Test/getVideo.do?id="+id;}</script></head><body><h3>${message }</h3><h1>Hello !!!</h1><button id="btn" onclick="getVideo('ea48576f30be1669971699c09ad05c94');">播放</button><%-- <video id="video" ><source src="${path }"></video> --%><audio id="mp3" src="${path }" autoplay="true" controls="true"></audio></body>
3、后台代码:
@Controller@RequestMapping("/Test")public class TestController {/** * 视频跳转 * @param id * @return */@RequestMapping("/getVideo.do")public ModelAndView getVideo(String id) {ModelAndView mav = new ModelAndView("success");mav.addObject("path", "/Test/Test/video.do?id="+id);return mav;}/** * 视频流读取 * @param id * @param response * @throws Exception */@RequestMapping("/video.do")public @ResponseBody void video(String id, HttpServletResponse response)throws Exception{File file = new File("E:/1.mp3");FileInputStream in = new FileInputStream(file);ServletOutputStream out = response.getOutputStream();byte[] b = null;while(in.available() >0) {if(in.available()>10240) {b = new byte[10240];}else {b = new byte[in.available()];}in.read(b, 0, b.length);out.write(b, 0, b.length);}in.close();out.flush();out.close();}}
Reference:
[1] 陶国荣, HTML5实战, 机械工业出版社, 2012, 116-117
阅读全文
0 0
- SpringMVC 字节流实现播放多媒体
- XHTML5 ----- 实现多媒体播放
- Android 基于LocalSocket实现本地多媒体流式播放
- 利用ATL实现QuickTime多媒体文件播放
- 利用ATL实现QuickTime多媒体文件播放
- 播放多媒体
- 多媒体播放
- 多媒体播放
- 基于android多媒体框架实现播放APE音频的实现
- 文章标题android自制多媒体视频播放器和图片压缩技术(字节数组转成Bitmap)
- Android多媒体学习六:利用Service实现背景音乐的播放
- 使用JMF实现音乐播放(java多媒体编程)
- 在VC++中实现自动连续播放多媒体
- 使用JMF实现音乐播放(java多媒体编程)
- Android多媒体学习五:利用Service实现背景音乐的播放
- IOS多媒体之视频播放与录音的简易实现
- 使用JMF实现音乐播放(java多媒体编程)
- Android多媒体--利用Service实现背景音乐的播放
- 自动补全
- Sonya and A Problem without A Legend(DP+优化)
- codeforces 822C
- 机器学习
- 文章标题
- SpringMVC 字节流实现播放多媒体
- 东软JavaWeb实训记-DAY5-MyBatis框架+jsp传值+登录过滤器
- 20. Valid Parentheses
- 锚点的作用及用法
- 用户
- HDU 4027 Can you answer these queries? (线段树 区间开方)
- 微修改前端框架,以满足项目需求
- 深度学习模型压缩方法综述(二)
- 《函数调用时参数、返回值所做的优化处理+编译器NRV优化》