audio读取文件流播放音频_audio 文件流_菜鸟进军大神陆的博客-程序员秘密

技术标签: Java总结  audio  音频流  

jsp阶段:

<audio controls="controls" controlsList="nodownload"><source  src="${ctx }/phone/getAudio.ce?type=3&PATHID='+mp+'" type="audio/mpeg"></audio>

效果图:


java部分:

@RequestMapping("getAudio")  
    @ResponseBody
	public String getAudio(HttpServletRequest request, HttpServletResponse response) throws Exception{
		 Map<String, Object> map = getPageMapParams();	
		 List<Map<String, Object>> list_new =xcxQqandWxServices.getimgOraudiopath(map);
		 
		 String path = (String)list_new.get(0).get("TRANCFILEPATH");
		 if (path!=null) {
			 String range = request.getHeader("Range");  
                         String[] rs = range.split("\\=");  
                         range = rs[1].split("\\-")[0]; 
			 File file = new File(path);  
			 OutputStream os = response.getOutputStream();  
			 FileInputStream fis = new FileInputStream(file);  
			 long length = file.length();  
			 // 播放进度  
			 int count = 0;  
			 // 播放百分比  
			 int percent = (int)(length * 1);  
			 int irange = Integer.parseInt(range);  
                         length = length - irange;  

                             response.addHeader("Accept-Ranges", "bytes");  
                             response.addHeader("Content-Length", length + "");  
                             response.addHeader("Content-Range", "bytes " + range + "-" + length + "/" + length);  
                             response.addHeader("Content-Type", "audio/mpeg;charset=UTF-8");   
			
			 int len = 0;  
			 byte[] b = new byte[1024];  
			 while ((len = fis.read(b)) != -1) {  
			     os.write(b, 0, len);  
			     count += len;  
			     if(count >= percent){  
			         break;  
			     }  
			 }  
			 fis.close();  
			 os.close();  
		 }
		return null;
	}
借鉴地址:https://blog.csdn.net/xxzblog/article/details/41312315
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_25391785/article/details/79877959

智能推荐

python安装包下载太慢解决_狼头神的博客-程序员秘密

当我们需要下载python包的时候,默认是从境外镜像进行下载的,速度会很慢,如何我们下载jieba,使用下面命令:pip install jieba一个20M的文件包,可能需要大几分钟的时间。我们将镜像换成清华镜像,秒几就能完成任务。运行指令如下:pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple/...

python任务调度框架_任务调度利器:Celery_weixin_39611506的博客-程序员秘密

Celery是Python开发的分布式任务调度模块,今天抽空看了一下,果然接口简单,开发容易,5分钟就写出了一个异步发送邮件的服务。Celery本身不含消息服务,它使用第三方消息服务来传递任务,目前,Celery支持的消息服务有RabbitMQ、Redis甚至是数据库,当然Redis应该是最佳选择。安装Celery用pip或easy_install安装:$ sudo pip install Cel...

matlab实现离散数学,使用MATLAB的离散数学课程的项目想法?_香菜加馍的博客-程序员秘密

一般建议:The MathWorks有很多教学资源,可以给你一些课程的想法.一些示例链接:具体建议:我发现有趣的非线性动力学研究课题之一是Lorenz oscillators.洛伦兹振荡器是一个可以表现出混沌行为的三个变量的非线性系统.这样一个系统将为学生提供数学计算的机会(iterative methods,用于模拟微分方程系统,稳定性和收敛性等).这个项目最有趣的是我们使用Lorenz振荡器对...

元旦节,咱们一起过,一起送礼物_strongerHuang的博客-程序员秘密

关注+星标公众号,不错过精彩内容一、 前言大家好,我是『strongerHuang』黄工,这一年来,感谢大家对公众号的支持,但是感谢不能停留在嘴上,所以,这次邀请了正点原子赞助。一起给大...

Java8-15-Stream 收集器 01-归约与汇总+分组_老马啸西风的博客-程序员秘密

文章目录用流收集数据收集器的用途收集器简介收集器用作高级归约归约和汇总计算总数-counting查找流中的最大值和最小值-minBy maxByCollectors.maxBy汇总总数 Collectors.summingXXXsummingIntsummingLong summingDouble平均数-averagingXXX统一获取汇总信息-summarizingXXXsummarizingI...

随便推点

判断两条线是否相交_weixin_34266504的博客-程序员秘密

为什么80%的码农都做不了架构师?&gt;&gt;&gt; ...

pycharm 快捷键_奈何辰星无可奈的博客-程序员秘密

pycharm 快捷键提示CTRL Q: 在参数列表位置,显示可以输入的所有参数。CTRL Q: 查看选中方法的文档字符串阅读CTRL -: 折叠当前代码CTRL +: 展开当前代码CTRL SHIFT -: 折叠所有代码CTRL SHIFT +: 展开所有代码CTRL SHIFT F7: 将当前单词在整个文件中高亮,F3移动到下一个,ESC取消高亮。CTRL F11...

关于BIOS的那些事----不要老整三岁的脑筋急转弯,咱们来整点五岁的(中)_alZou的博客-程序员秘密

   现在来看第二部分,第二部分其实是把要用的模块文件压缩了一个接一个放在一起就行了。压缩算法的名字叫lh5,一提到算法,国内研究这种“低层次”东西的人就少了(大家都搞往窗体上拖放几个控件就能实现功能的高层次的应用程序)。好在我在国外的网站上无意中发现了lh5压缩算法的源码,用TC写的,我又从网上把TC这个老古董下载下来,最后居然编译成功了(当然做过一些修改),编译生成的文件名叫ar.exe(文中

user_index.js_programpoet的博客-程序员秘密

function fbxx(u_id){  //我发布的信息 //alert(u_id); document.body.style.overflow = hidden; document.body.style.height = document.documentElement.clientHeight + px; window.open(user_index_fbxx.jsp,_bl

百度地图api设置点的自定义图标不显示_weixin_30420305的博客-程序员秘密

百度地图api设置点的设置代码为:var myIcon = new BMap.Icon();所以首先要找到这行代码,并在括号中加上图片信息:var myIcon = new BMap.Icon("http://map.baidu.com/image/us_mk_icon.png", new BMap.Size(50,50));很多人使用过程中会发现如果百度地图的这...

简单的通过DrawerLayout + NavigationView 实现侧滑效果。_猫吻鱼的博客-程序员秘密

简单的通过DrawerLayout + NavigationView 实现侧滑效果。MainActivitypackage com.example.qxb_810.qqdemohuadong;import android.os.Bundle;import android.support.annotation.NonNull;import android.support.design....

推荐文章

热门文章

相关标签