JAVA如何实现视频在线播放(MP4文件在线播放)

JAVA如何实现视频在线播放(MP4文件在线播放)

不需要web端进行操作,即可直接进行播放,话不多说,直接上代码!

  1. Controller代码
/**
     * @description: MP4文件在线播放
     * @author: Re、ZOO2
     * @date: 2021/7/25 22:55
     * @param: [request, response, floderPath文件夹路径, fileName文件名称]
     * @return: com.lvmvp.configconsts.constant.ResultView
    **/
    @GetMapping(value = "/playMp4/{fileName}",produces ="application/json;charset=utf-8")
    public ResultView playMp4(HttpServletRequest request, HttpServletResponse response,
                              @PathVariable("fileName") String fileName){
        String floderPath = "D:/Desktop/";
        FileNormalOperationUtils.aloneVideoPlay(request,response,floderPath,fileName);
        return null;
    }
  1. FileNormalOperationUtils工具类方法调用
/**
     * @description: 在线播放MP4文件
     * @author: Re、ZOO2
     * @date: 2021/7/25 22:50
     * @param: [request, floderPath 文件夹路径, fileName 文件名称, response]
     * @return: void
    **/
    public static void aloneVideoPlay(HttpServletRequest request, HttpServletResponse response,String floderPath, String fileName) {
        InputStream is = null;
        OutputStream os = null;
        try {
            response.setContentType("video/mp4");
            File file = new File(floderPath + fileName);
            response.addHeader("Content-Length", "" + file.length());
            is = new FileInputStream(file);
            os = response.getOutputStream();
            IOUtils.copy(is, os);
        } catch (Exception e) {
            log.error("播放MP4失败", e);
        } finally {
            if (null != os) {
                try {
                    os.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

这里只支持对MP4格式视频的播放,其他格式的需要大家进行转换后才可进行播放,格式转换可以使用格式工具进行转换。
格式化工厂友情链接: https://www.onlinedown.net/soft/577649.htm
经过个人实际确认,功能确已实现,希望对大家有用。

  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
要在Java实现视频在线播放,可以按照以下步骤进行: 1. 在前端页面添加一个视频播放器,并将播放器的src属性设置为视频文件的URL地址。可以使用HTML5中的video标签实现视频播放功能。 2. 在后端编写一个Servlet,用于读取视频文件的字节流,并将字节流写入到HttpServletResponse的输出流中,以便前端页面可以获取到视频文件的内容并播放。 下面是一个简单的示例: 1. 前端页面代码: ```html <video controls> <source src="play?file=video.mp4" type="video/mp4"> Your browser does not support the video tag. </video> ``` 在以上示例中,我们将视频文件名作为参数传递给Servlet,以便Servlet可以读取相应的视频文件。 2. 后端Servlet代码: ```java @WebServlet("/play") public class PlayServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取视频文件名 String fileName = request.getParameter("file"); // 获取视频文件的绝对路径 String filePath = getServletContext().getRealPath("/videos/" + fileName); // 设置响应头,告诉浏览器返回的是视频文件 response.setContentType("video/mp4"); // 读取视频文件的字节流,并将字节流写入到HttpServletResponse的输出流中 try (InputStream in = new FileInputStream(filePath); OutputStream out = response.getOutputStream()) { byte[] buffer = new byte[1024]; int length; while ((length = in.read(buffer)) > 0) { out.write(buffer, 0, length); } } catch (IOException e) { e.printStackTrace(); } } } ``` 在以上示例中,我们首先获取视频文件的绝对路径,然后设置响应头,告诉浏览器返回的是视频文件。最后,我们读取视频文件的字节流,并将字节流写入到HttpServletResponse的输出流中,以便前端页面可以获取到视频文件的内容并播放。 注意:在实际开发中,我们应该将视频文件保存到Web应用程序的根目录下或者外部存储,以便可以通过相对路径或者绝对路径来访问视频文件。同时,在读取视频文件的字节流时,应该使用try-with-resources语句来确保字节流能够被正确关闭,以免出现资源泄漏的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值