java播放本地声音流_前端Web界面播放Java后端返回的音频流,视频流
最近在做一个大屏系统时,需要在界面中播放一段视频,由于跨域问题,最后决定使用视频流的方式,把音频文件传到前端进行播放。
后端Java代码如下:
@RequestMapping(value = "/videoFlow", method = RequestMethod.GET)
public void videoFlow(HttpServletRequest request,
HttpServletResponse httpServletResponse, String fileName) {
String templeId = request.getParameter("templeId");// 寺庙ID
String propName[] = new String[] { "fileSubordinateId", "fileFrom" };
Object propValue[] = new Object[] { Long.parseLong(templeId), 1 };
List tfList = templeFileService.queryByProerties(propName,
propValue);
String fileSrc = null;
if (StringUtils.isNotBlank(tfList)) {
for (TempleFile tf : tfList) {
if (tf.getFileType().intValue() == 2) {
fileSrc = tf.getFileSavePath();
break;
}
}
}
byte[] bytes = changeTobyte(fileSrc);
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.setContentLength(bytes.length);
try {
httpServletResponse.getOutputStream().write(bytes);
} catch (IOException e) {
System.out.println("IO异常----");
}
}
public byte[] changeTobyte(String filePath) {
byte[] buffer = null;
try {
File file = new File(filePath);
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] b = new byte[1024];
int n;
while ((n = fis.read(b)) != -1) {
bos.write(b, 0, n);
}
fis.close();
bos.close();
buffer = bos.toByteArray();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return buffer;
}
前端代码
如下所示:
结果上面两步,就可以在前端正常播放map4文件了。
java播放本地声音流_前端Web界面播放Java后端返回的音频流,视频流相关推荐
- Java和php访问数据库对比_在Web开发方面Java和PHP的比较
比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发.以下是我就几个主要方面进行的比较: 一. 语言比较 PHP是解释执行的服务器脚本语言,首先php有简单容易 ...
- java中execution的作用_一文初步了解Java虚拟机
大家都知道,Java中JVM的重要性,学习了JVM你对Java的运行机制.编译过程和如何对Java程序进行调优相信都会有一个很好的认知. 什么是JVM? JVM(Java Virtual Machin ...
- java 调用webapi json_java通过url调用web api并接收其返回的json
java通过url调用webapi并接收其返回的json数据,但现在结果总是:{"result":4,"data":{}}(未认证:),帮助文档如下:API使用 ...
- java五子棋代码详解_代码详解:Java和Valohai的深度学习之旅
全文共10735字,预计学习时长22分钟或更长 有一款生命周期管理工具(也称云服务)叫做Valohai,它有着友好的用户界面和简洁的布局设计. 许多有关Valohai的案例和文档都是基于Python和 ...
- 开发转测试没人要_前端开发,测试,后端,该如何选择?
一般来说前端会比后端简单一些的,初学者或者转行可能考虑前端多一点,但是后端开发的薪水又比前端高一些,就是比较枯燥. 前端开发 我目前一直在自学前端,从网上找资料,然后听课,只要是对编程有兴趣,应该都能 ...
- java实现次方的运算_【技术干货】Java 面试宝典:Java 基础部分(1)
海牛学院的 | 第 616 期 本文预计阅读 |18 分钟 Java 基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法, ...
- java小程序详解_微信小程序登录Java后台接口(详解,附示例代码)
首先看一下官方文档 地址:微信小程序官方文档API登录接口 我们先对官方给的时序图进行简单的分析 1.当小程序调用wx.login()时,会获得一个code(临时登录凭证),然后我们需要用wx.req ...
- html怎样手机播放本地视频播放器,手机优酷怎么播放本地视频 本地文件导入方法...
优酷下载的视频一般都会是KUX格式,只能使用优酷进行播放,比较霸道,那么反过来优酷是否可以播放本地视频呢?自然是可以的,下面就跟小编了解下吧. 方法一:找到视频选择打开方式 首先在智能手机的文件管理中 ...
- VLC更改设置,播放本地H264和H265流媒体文件和播放帧率
VLC更改设置,播放本地H264和H265流媒体文件 步骤1:单击"工具"->"偏好设置".在"偏好设置"对话框的左下角的" ...
最新文章
- 如何有效防止域名被电信服务商劫持(电信114弹窗广告)
- Android IOS WebRTC 音视频开发总结(二三)-- hurtc使用说明
- Redis进阶- Redisson分布式锁实现原理及源码解析
- oracle虚拟机 centos6.5,虚拟机oracle virtualbox 上安装centos6.5 网络设置
- 小记:在WSS语言包升级问题
- Flex 获取时间戳、随机数
- [scikit-learn 机器学习] 3. K-近邻算法分类和回归
- 06.QT菜单栏QAction学习(二)
- Linux中锁的总结
- Atitit 为什么互联网金融会得到高层的支持 ----面子工程战略 政绩战略 大事业战略 高层需要在意识形态创新全球,政绩工程 得到合法性。 银行有很多家,而且别的区域也有。。不独特。。但是支付
- Atitit.增强系统稳定性----虚拟内存的设置
- 雅虎团队经验:网站页面性能优化的 34条
- python用于cad_python cad
- c语言计算音频分贝函数,如果用c语言程序读取一段音频文件要如何做,具体要调用哪些函数,在网上搜索了半天,乱七八糟的,找不到什么有用的信息...
- oracle追加imp,imp倒入的数据是追加,而不是替换,需要什么参数?
- 喵哈哈村的魔法考试 Round #6 (Div.3) 题解
- oracle中毒,oracle数据库中毒恢复 oracle数据库解密恢复 服务器中勒索病毒解密恢复.Hermes666...
- 巧妙的通过二维码在手机和电脑传递小量数据
- 恶意软件Emotet卷土重来滥用.LNK文件进行攻击,你只需要一项技术就能有效保护组织
- 2020年中国球墨铸管行业发展背景、竞争格局及政策环境分析,城市管道建设带来行业增量,新兴铸管是行业龙头「图」