import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController;
import com.easystudy.websocket.ImgEndPoint;
/** * @文件名称: TestController.java * @功能描述: 图片流请求请求发送接口(websocket发送图片到web端) * @版权信息: www.easystudy.com * @技术交流: 961179337(QQ群) * @编写作者: lixx2048@163.com * @联系方式: 941415509(QQ) * @开发日期: 2020年9月21日 * @历史版本: V1.0 * @备注信息: */ @RestController @RequestMapping(“/test”) public class TestController {
/** * @功能描述: 发送请求接口 * @版权信息: www.easystudy.com * @编写作者: lixx2048@163.com * @开发日期: 2020年9月21日 * @备注信息: */ @SuppressWarnings(“unused”) @GetMapping(“/send”) public String reponseMsgToClient(@RequestParam(name=”content”, required = true)String content) throws Exception{ System.out.println(“开始发送图片数据”);
// 随机选择一张图片发送 int index = new Random().nextInt(4) + 1; String imgName = index + “.jpg”;
// 判断图片是否存在 URL url = getClass().getClassLoader().getResource(imgName); File file = new File(url.getFile()); if (!file.exists()) { return “未找到图片!”; }
// 创建输入图片流 InputStream in = new FileInputStream(file); if (null == in) { return “打开文件失败!”; }
// 读取图片数据 int size = (int)file.length(); byte[] buffer = new byte[ size]; int count = in.read(buffer, 0, size); System.out.println(“文件长度:” + size + “, 读取长度:” + count);
// 发送图片数据(理论上讲应该只发对端连接的) ImgEndPoint.fanoutMessage(buffer);
// 关闭文件流 try { in.close(); } catch (IOException e) { e.printStackTrace(); }
// 接口响应 return “消息【” +content+ “】发送成功!”; } }
我这里多一句嘴,如果是音视频应用的录像播放,这里可以使用websocket传输图片流,然后通过计算发送定点的图片流数据到前端来实现自定义的播放器功能(海康萤石云使用的就是websocket播放录像流的,做法类似)
播放效果如下:

到此这篇关于Html5之webcoekt播放JPEG图片流的文章就介绍到这了,更多相关Html5播放JPEG图片流内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
来源:脚本之家
链接:https://www.jb51.net/html5/746110.html
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!
本文素材来自互联网 (编辑:应用网_阳江站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|