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

智能推荐

懒加载问题,爬虫无法用src爬取图片问题_lay-src 不显示图片懒加载-程序员宅基地

文章浏览阅读5.3k次,点赞3次,收藏3次。_lay-src 不显示图片懒加载

java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.util.Map-程序员宅基地

文章浏览阅读1.9w次,点赞4次,收藏3次。在使用Hibernate进行数据库查询的时候报此_java.lang.classcastexception: [ljava.lang.object; cannot be cast to java.uti

mysql数据库查询实际扫描行数_mysql查询指定扫描行数-程序员宅基地

文章浏览阅读3.8k次。mysql数据库查询实际扫描行数例如我执行的语句是:SELECT iss_dt AS date,SUM( user_num ) AS count FROM ads_cusprofile_et_info WHERE label_id = 'sex' AND iss_dt >= '20181228' AND iss_dt <= '20191228' GROUP BY iss_dt;..._mysql查询指定扫描行数

用两个栈实现一个队列,完成push和pop函数_实验四栈和队列将push和pop函数补充完整-程序员宅基地

文章浏览阅读1.9k次。思路:(1)栈为后入先出,队列为先入先出;(2)进入队列的操作用栈1来完成,然后用栈2来完成出栈操作,把栈1的数据弹出后放入栈2,那么栈1中最后入栈的现在进入栈2的栈底最后出栈,正好实现队列的后入后出,最开始入栈1的数在栈2 的栈顶,最先出队列,相当于在队列的尾部class Solution{public: void push(int node) { stack1.pu..._实验四栈和队列将push和pop函数补充完整

Linux之编译make常识_make -j12-程序员宅基地

文章浏览阅读2.3k次,点赞2次,收藏5次。1,make -j:通过在make后加-j可以加快编译速度。在使用make进行编译时,若只执行make指令则效率较低,若用make -j后面跟一个数值,比如make -j8,make -j12等则可以提高编译效率。make -j命令后面跟着线程数,12表示这个命令使用12线路去执行编译。假设我们的系统是cpu是12核,在不影响其他工作的情况下,我们可以用make -j12(注意make -j线程数不能超过电脑cpu的线程数)。cpu_num=`cat /proc/stat | grep cpu[_make -j12

单独谈谈 Android Cursor 的使用细节-程序员宅基地

文章浏览阅读1.1k次。使用过 SQLite 数据库对 Cursor 应该不陌生,这里单独拿出来谈一下,加深对Android SQLite中使用 Cursor 的理解。在你理解和使用 Android Cursor 的时候你必须先知道关于Cursor的几件事情:Cursor 是每行的集合。使用 moveToFirst() 定位第一行。你必须知道每一列的名称。你必须知道每一列的数据类型。Cur..._cursor.movetoposition(i);为啥每次访问都是第一个数据

随便推点

gtest中小项目test_gtest使用哪个版本稳定-程序员宅基地

文章浏览阅读537次。一、概述  gtest是Google开源的一款跨平台的C++单元测试框架,支持自动发现测试、断言集、用户定义的断言、death测试、致命与非致命的失败、类型参数化测试、各类运行测试的选项和XML的测试报告,更多信息请参看官网,也可以参看这里。  二、安装  点击这里下载gtest,当前最新的稳定版本是gtest-1.7.0,如下来安装gtest:  #unzip g_gtest使用哪个版本稳定

牛顿迭代法(Newton)解方程数值解的python实现_迭代法解方程的python代码-程序员宅基地

文章浏览阅读5.8k次,点赞8次,收藏33次。事情过多,先放代码,有时间再补内容。import sympy as sydef FunValue(x0, f): result = f.subs(x, x0) return resultdef Newton(x0, f, g = 1e-6): times = 0 while True: tempx = x0 x0 = x0 ..._迭代法解方程的python代码

【web课程设计网页规划与设计】基于HTML+CSS+JavaScript制作大学网站(11页)_基于+javascript&mysgl&html的学校官网-程序员宅基地

文章浏览阅读447次。 校园网页设计 、学校班级网页制作、学校官网、小说书籍、等网站的设计与制作。️HTML静态网页设计作业使用dreamweaver制作,采用DIV+CSS布局,共有多个页面,首页使用CSS排版比较丰富,色彩鲜明有活力。顶部导航及底部区域背景色为100%宽度,主体内容区域宽度 一套优质的网页设计应该包含 (具体可根据个人要求而定)网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。网站程序方面:计划采用最新的网页编程语言HTML5+CSS3+JS程序语......_基于+javascript&mysgl&html的学校官网

JavaScript 之for循环打印金字塔图形_请用javascript编写一个程序,可以接收一个整数n层数,打印出金字塔一半。(使用for-程序员宅基地

文章浏览阅读9.4k次,点赞6次,收藏21次。需求:1、用for循环打印半个金字塔图形n=5:&lt;html&gt;&lt;head&gt;&lt;title&gt;打印半个金字塔&lt;/title&gt;&lt;script type="text/javascript"&gt;var n = window.prompt("请输入金字塔的高度(行数)"); for(var i=0;i&lt;=n;i_请用javascript编写一个程序,可以接收一个整数n层数,打印出金字塔一半。(使用for

Linux 2.6.18内核编译_编译linux2.6.18-程序员宅基地

文章浏览阅读1k次。2、下载2.6内核源码下载地址:http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz23、下载内核升级工具(1)下载module-init-tools-3.2.tar.bz2http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/modul_编译linux2.6.18

auto-extending data file /ibdata1 is of a different size 17152 pages (rounded down to MB)_you need to use --log-bin to make --log-replica-up-程序员宅基地

文章浏览阅读1.6k次。问题描述:由于某一个mysql库经常性导致库崩溃,现在需要把该库迁移到另外一个库中,通过xtrabackup备份恢复,当恢复后无法正常启动mysql,查看日志提示如下内容:2018-09-05 10:01:29 20972 [Warning] You need to use --log-bin to make --binlog-format work.2018-09-05 10:01:29 ..._you need to use --log-bin to make --log-replica-updates work.

推荐文章

热门文章

相关标签