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 html5 audio 是一个很强大的标签,项目中用到很多的就是直接给 audio 标签的src赋值 音频 文件 对应的url,关于 audio ,网上资料很多,这里不详细介绍。本文主要讲述在项目中使用 audio 遇到的坑。项目前台使用vue框架1.如何将 文件 转化成对应的url通过录音 文件 对应的uuid 获取录音对应的 文件 data(bytes类型),使用let recordSrc = URL.createObj... file = open(wav_path, 'rb') # 用open函数以二进制方式 读取文件 info = file.read() # 直接读全部的信息就行 # 这里base64.encode返回了bytes数据,但bytes数据没法在json中传输,所以我用str()将其转为str类型数据后,取b'...'内的数据。 base64_info = str(base64.b64encode(info))[2:-1] file.close() 场景: 使用原生 Audio 代替Flash 播放 器。 问题: 音频 可以 播放 ,但是无法快进,即无法跳转某个 播放 位置继续 播放 音频 不是实时 ,而是后台将 文件 转为 传回浏览器,跟直接访问 音频 文件 地址没太大差别。解决思路:查看浏览器直接 播放 音频 文件 时的浏览器响应,发现头部部分字段不一致,解决方法:后台响应添加如下Header:response.addHeader("Accept-Ranges", "bytes") var $ audio = document.getElementById(" audio "+index); var source = document.createEleme... 很多时候我们需要从服务器上传输 文件 ,如果我们把 音频 文件 转成byte[]进行网络传输,然后再在客户端进行 播放 ,我们可以将byte[]生成 音频 临时 文件 进行 播放 。 package com.djcken.util; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import j @RequestMapping(value = " audio Listen") @ResponseBody public String get Audio (HttpServletRequest request, HttpServletResponse response,@RequestParam String path) throws Exception{ Audio 模块用于提供 音频 的录制和 播放 功能,可调用系统的麦克风设备进行录音操作,也可调用系统的扬声器设备 播放 音频 文件 。通过plus. audio 获取 音频 管理对象 1,开始录音 function startRecord(){ plus. audio .getRecorder();//获取当前设备的录音对象  if ( r == null ) {   return;  r.recor websocket.onmessage = function (event) { var audio = document.getElementById('aud'); if (window.URL) { audio 如果开发项目需要解析 音频 文件 ,可以使用 iOS 的 Audio File Stream Services。 Audio File Stream Services 支持的 音频 数据格式:AIFFAIFCWAVECAFNeXTADTSMEPEG Audio Layer 3AAC解析 音频 文件 的过程如下:使用 Audio FileStreamOpen 方法创建 音频 文件 的解析器:OS... 0x00 序近日有这样一个需求,在web端 播放 PCM裸 ,即数据提供方给出的都是**.pcm 文件 ,而我们需要在页面上给出该 音频 播放 控制器(至少可以支持play、pause)。