首页 > 编程语言 >JAVA如何实现视频在线播放(MP4文件在线播放)

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

时间:2023-09-07 17:44:29浏览次数:45  
标签:JAVA floderPath MP4 fileName 在线播放 os response

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  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();
                }
            }
        }
    }
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

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

  文章知识点与官方知识档案匹配,可进一步学习相关知识 Java技能树首页概览128032 人正在系统学习中

标签:JAVA,floderPath,MP4,fileName,在线播放,os,response
From: https://www.cnblogs.com/dsj8966/p/17685659.html

相关文章

  • java 支持 超大上G,多附件上传插件
    ​ javaweb上传文件上传文件的jsp中的部分上传文件同样可以使用form表单向后端发请求,也可以使用ajax向后端发请求    1. 通过form表单向后端发送请求         <formid="postForm" action="${pageContext.request.contextPath}/UploadServlet" method="pos......
  • 无涯教程-JavaScript - ERF函数
    描述ERF函数返回集成在lower_limit和upper_limit之间的错误函数。误差函数由等式给出-$$Erf(x)=\frac{2}{\sqrt{\pi}}\inte^{-t^2}dt$$语法ERF(lower_limit,[upper_limit])争论Argument描述Required/Optionallower_limitThelowerboundforintegrat......
  • javascript的groupby操作用法
    示例:constpets=[{type:"Dog",name:"Spot"},{type:"Cat",name:"Tiger"},{type:"Dog",name:"Rover"},{type:"Cat",name:"Leo"}];constgroupByCombine=(ite......
  • java 泛型作为方法的返回值的封装
    问题背景业务需要,经常需要http方式调用某服务,然后某服务返回特定类型的返回内容。类似StringresStr=xxxHttpClient.post(),然后它返回一个字符串,你还需要反序列化成某种格式的。返回值可以反序列化成的形式如下:{ privateStringcode;privateStringmessage; //这......
  • 开心农场java国外版开发
      开心农场属于是国内的游戏养殖平台,但是也可以开发成国外的模式,首先就是玩法和语言上的区别。该软件问世以来,也是以java的模式传播开的,受到了众多爱好者的欢迎,游戏界面以经典前卫的形式出现。  在开发java版的国际开心农场软件时,开发软件的团队也是借鉴了原版的模型开发......
  • Java Heapprof文件分析工具MAT(memory analyzer tool )
    在分析内存时经常会遇到一些内存泄漏的问题,可以有不知道那个导致的内存泄漏,此时通常抓取一个JavaHeapprof文件,adbshellamdumpheap包名/data/local/tmp/1.hprof 下面下载MAT工具:https://eclipse.dev/mat/downloads.php解压出来如下: 运行MemoryAnalyzer.exe软件发现......
  • 【Java基础增强】Stream流
    1.Stream流1.1体验Stream流【理解】案例需求按照下面的要求完成集合的创建和遍历创建一个集合,存储多个字符串元素把集合中所有以"张"开头的元素存储到一个新的集合把"张"开头的集合中的长度为3的元素存储到一个新的集合遍历上一步得到的集合原始方式示例代码publicclassMyStream1......
  • 【Java基础增强】类加载器和反射
    1.类加载器1.1类加载器【理解】作用负责将.class文件(存储的物理文件)加载在到内存中1.2类加载的过程【理解】类加载时机创建类的实例(对象)调用类的类方法访问类或者接口的类变量,或者为该类变量赋值使用反射方式来强制创建某个类或接口对应的java.lang.Class对象初始化某个类的子类直......
  • JavaScript入门---计算机基础
         编程语言通过翻译器翻译成机器语言让机器执行 标记被动,编程有逻辑是主动。二。计算机基础硬件:输入设备、输出设备、cpu(处理数据与运算)、硬盘、内存 软件:系统软件,应用软件包含于sys软件2.1数据存储计算机内部由01表示数据硬盘内存都是保存二进制数......
  • java反射
    直接new对象就叫正射如下Map<String,String>map=newHashMap<>();map.put("两年半","唱跳rap篮球");正射,LinkedHashMap效果更好,然后你修改代码Map<String,String>map=newLinkedHashMap<>();map.put("两年半","唱跳rap篮球");发现用Linke......