音视频拖动进度条问题

背景:

前端audio/video原生标签,后台java response流返回

现象:

在火狐浏览器可以正常播放,也可以正常拖动进度条,但在谷歌浏览器下只能播放,不能拖动进度条。

原因:

暂不知。

解决问题

前端不动,后台在响应头上加上这一句就可以了,亲测有效。

response.addHeader("Accept-Ranges","bytes");

前端代码如下(不是重点)



    

后端代码如下

@RequestMapping(value = "/play",method = RequestMethod.GET)
    public void loginStart(HttpServletRequest request, HttpServletResponse response) {

//        String path = "D:\\CloudMusic\\fly.mp3";
        String path = "D:\\15m888piCyKn.mp4";
        try {
            File file = new File(path);
            String filename = file.getName();
            InputStream fis = new BufferedInputStream(new FileInputStream(path));
            byte[] buffer = new byte[fis.available()];
            fis.read(buffer);
            fis.close();
            response.reset();
//            response.addHeader("Content-Disposition","attachment;filename=" + new String(filename.replaceAll(" ", "").getBytes("utf-8"),"iso8859-1"));
            response.addHeader("Accept-Ranges","bytes");
            response.addHeader("Content-Length",""+ file.length());
            response.addHeader("Content-Range","bytes 0-" + file.length());
            OutputStream os = new BufferedOutputStream(response.getOutputStream());
            response.setContentType("application/octet-stream");
            os.write(buffer);
            os.flush();
            os.close();
        }catch (Exception e){
            System.out.println(e.toString());
        }
    }

 

你可能感兴趣的:(Java)