不好意思,误导大家了,这种将silk解密的方式只是在小程序测试的时候可以,上线以后这种方法是不行的,还是需要使用解密转码。参见:https://github.com/kn007/silk-v3-decoder

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

录音文件为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");}
}

微信小程序 录音文件格式silk 坑相关推荐

  1. java silk转mp3_微信小程序录音文件格式silk遇到的问题及解决方法

    不好意思,误导大家了,这种将silk解密的方式只是在小程序测试的时候可以,上线以后这种方法是不行的,还是需要使用解密转码.参见:https://github.com/kn007/silk-v3-dec ...

  2. php silk v3 decoder,微信小程序语音搜索踩坑:silk文件格式转换,在PHP中使用

    直接调用微信小程序录音接口,然后上传到服务器,百度语音的接口是识别不了这种格式的文件,那么问题来了 一.如何转码?ffmpeg? 二.如何在PHP中使用? 本文将要解决这两个问题. 用到的第三方工具: ...

  3. 微信小程序录音silk文件格式转换为MP3及PCM格式的方法

    关于silk文件如何转码为MP3或PCM格式的方法 介绍:最近在做微信小程序的人工客服,需要用到百度AI语音识别,但是因为微信的录音文件格式为 .silk,但是百度AI识别的格式应该为PCM或者WAV ...

  4. php silk文件转换pcm,微信小程序录音silk文件格式转换为MP3及PCM格式的方法

    关于silk文件如何转码为MP3或PCM格式的方法 介绍:最近在做微信小程序的人工客服,需要用到百度AI语音识别,但是因为微信的录音文件格式为 .silk,但是百度AI识别的格式应该为PCM或者WAV ...

  5. 微信小程序录音 第一篇 (基于微信小程序及百度AI的 人员语音识别转文字显示小程序)

    基于微信小程序及百度AI的 人员语音识别转文字显示小程序 基于微信小程序及百度AI的 人员语音识别转文字显示小程序主要分3篇 1.微信小程序录音篇(小程序基于wx.startRecord()微信语音录 ...

  6. 微信小程序uni.getImageInfo踩坑大计划

    B站https://www.bilibili.com/read/cv6317437 如果你在使用getImageInfo的时候真机调试没问题,上传生成体验版的时候或者是线上版本没反应,主要原因是网络图 ...

  7. 开发微信小程序 中遇到的坑 及解决方法

    开发微信小程序 中遇到的坑 及解决方法 参考文章: (1)开发微信小程序 中遇到的坑 及解决方法 (2)https://www.cnblogs.com/feiye512/p/6070052.html ...

  8. 微信小程序wx.compressImage的坑

    微信小程序wx.compressImage的坑 如何使用 第二个坑 如何使用 微信小程序api官网写的是这个 wx.compressImage({ src: '', // 图片路径 quality: ...

  9. 微信小程序录音上传功能

    微信小程序录音上传 录音弹窗wxml代码: <!-- 录音弹窗 --> <view class="cui-record" hidden="{{isHid ...

最新文章

  1. 专属于教育界的定律,你知道哪一些?
  2. 第十六届全国大学智能车竞赛东北赛区成绩与奖项
  3. java 中required_通过实例学习Spring @Required注释原理
  4. 适配器模式源码解析(jdk+spring+springjpa+springmvc)
  5. U盘里的文件夹会以应用程序的方式出现解决
  6. android 自定义表单,Android实现Ant Design 自定义表单组件
  7. ERROR 6: GEOS support not enabled.
  8. 【转】Azure Logic App Demo
  9. Jeecg-Boot异常处理'jeecg-boot.QRTZ_LOCKS' doesn't exist
  10. C BackgroundWorker类详细说明
  11. c#中关于delegate、委托、事件之间的联系、关系
  12. 大数据学习笔记48:Flume Sources(Flume源)
  13. [C++] printf 打印 string 类型
  14. 理解 Delphi 的类(十) - 深入方法[15] - 调用其他单元的函数
  15. 推荐几个顶级的IT技术公众号
  16. uva 10330(最大流)
  17. U的含义,u是什么单位
  18. 风暴英雄修改服务器,风暴英雄已支持全球各服务器切换 国服不包含在内
  19. 【老沙讲坛】系列之非技术面试题汇总目录
  20. 还在为本地到服务器图片的上传下达而烦恼吗?使用base64及flask框架实现服务端部署服务器! 本地客户端图片的上传下达!

热门文章

  1. Halcon算子--区域特征
  2. 重庆文理学院计算机科学与技术排名,2016重庆市大学一流学科排行榜,重大第一...
  3. 亿咖通拟纳斯达克上市:新公司作价38.2亿美元 路演PPT曝光
  4. 网约车平台Swvl纳斯达克上市:作价15亿美元 路演PPT曝光
  5. 2017秋季校园招聘iOS开发岗位面试题集锦
  6. 文件服务器--文件下载
  7. Tomcat9.0不能成功启动
  8. 工作纪实_25-SpringCloud整合sentinel问题汇总
  9. 基于SpringBoot+Redis的JAVA+SQL电子通讯录系统
  10. Android 12 变更与新特性