微信小程序 录音文件格式silk 坑

来源:互联网 发布:古生物学与地层学知乎 编辑:程序博客网 时间:2024/06/08 19:43

微信小程序的录音文件就是个坑。。。

录音文件为silk格式,说是silk其实是base64加密后的webm格式,只需将其转为webm格式即可。

我在解决问题的过程中,学到了,遇到问题一定要抓住本质,本来我以为silk是啥格式,这不懵逼了,赶紧找audio是否能播放silk,不能播放就去找网上的转换代码,完全没考虑看看录音文件里面是什么内容,折腾了一顿以后回到问题的本质,silk文件里的内容是base64加密后的webm格式。这样进行base64解密就可以了。

import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import com.qcloud.Utilities.Base64;public class Base64Webm {public static void readTxtFile(String filePath) {try {String encoding = "utf-8";File file = new File(filePath);if (file.isFile() && file.exists()) { // 判断文件是否存在InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);// 考虑到编码格式BufferedReader bufferedReader = new BufferedReader(read);StringBuilder lineTxt = new StringBuilder();String line = null;while ((line = bufferedReader.readLine()) != null) {lineTxt.append(line);}read.close();String olddata = lineTxt.toString();olddata = olddata.replace("data:audio/webm;base64,", "");System.out.println(olddata);        try {                  File webmFile = new File("D:\\project\\liulei\\Doc\\互动直播室\\微课网页开发\\silk2mp3\\caole.webm");        byte[] bt = Base64.decode(olddata) ;            FileOutputStream in = new FileOutputStream(webmFile);              try {                  in.write(bt, 0, bt.length);                  in.close();                  // boolean success=true;                  // System.out.println("写入文件成功");              } catch (IOException e) {                  // TODO Auto-generated catch block                  e.printStackTrace();              }          } catch (FileNotFoundException e) {              // TODO Auto-generated catch block              e.printStackTrace();          }  } else {System.out.println("找不到指定的文件");}} catch (Exception e) {System.out.println("读取文件内容出错");e.printStackTrace();}}public static void main(String[] args) {readTxtFile("D:\\project\\liulei\\Doc\\互动直播室\\微课网页开发\\silk2mp3\\liulie.silk");}}


原创粉丝点击