h5使用audio标签录音

今天在测试语音分析是发现h5录音解析,在第六条之后录音都是相同的,开始保存录音使用的是

CommonsMultipartFile uploadFile = (CommonsMultipartFile) audioData;

 FileItem item = uploadFile.getFileItem(); 

File uploadedFile = new File("C:/testvoice/"+System.currentTimeMillis() + ".wav"); 

item.write(uploadedFile); 

误以为是应为CommonsMultipartFile缓存没有清除或者是写入流没有关闭,所以更换了另一种方式:

FileOutputStream os = new FileOutputStream(filePathName); 

System.out.println("路径:"+filePathName);

 InputStream in = audioData.getInputStream(); 

int b = 0; 

while((b=in.read())!=-1)

扫描二维码关注公众号,回复: 3164503 查看本文章

//读取文件

 os.write(b);

 } 

os.flush(); //关闭流 

in.close(); 

os.close();

 换成此方式后,输入输出流明确关闭了,但是录音5-6条后还是出现录音一直和最后一条相同情况,所以根据js报错查询了一下,找到原因:chrome支持zudio标签录音只能打开6次即在同一个chrome浏览器中var context = new audioContext();只能执行六次,所以解决办法就自然出来了,,即在录音最后执行context.close();关闭方法即可。

猜你喜欢

转载自blog.csdn.net/fk478561641/article/details/78343844