微信小程序 录音文件格式silk 坑
不好意思,误导大家了,这种将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 坑相关推荐
- java silk转mp3_微信小程序录音文件格式silk遇到的问题及解决方法
不好意思,误导大家了,这种将silk解密的方式只是在小程序测试的时候可以,上线以后这种方法是不行的,还是需要使用解密转码.参见:https://github.com/kn007/silk-v3-dec ...
- php silk v3 decoder,微信小程序语音搜索踩坑:silk文件格式转换,在PHP中使用
直接调用微信小程序录音接口,然后上传到服务器,百度语音的接口是识别不了这种格式的文件,那么问题来了 一.如何转码?ffmpeg? 二.如何在PHP中使用? 本文将要解决这两个问题. 用到的第三方工具: ...
- 微信小程序录音silk文件格式转换为MP3及PCM格式的方法
关于silk文件如何转码为MP3或PCM格式的方法 介绍:最近在做微信小程序的人工客服,需要用到百度AI语音识别,但是因为微信的录音文件格式为 .silk,但是百度AI识别的格式应该为PCM或者WAV ...
- php silk文件转换pcm,微信小程序录音silk文件格式转换为MP3及PCM格式的方法
关于silk文件如何转码为MP3或PCM格式的方法 介绍:最近在做微信小程序的人工客服,需要用到百度AI语音识别,但是因为微信的录音文件格式为 .silk,但是百度AI识别的格式应该为PCM或者WAV ...
- 微信小程序录音 第一篇 (基于微信小程序及百度AI的 人员语音识别转文字显示小程序)
基于微信小程序及百度AI的 人员语音识别转文字显示小程序 基于微信小程序及百度AI的 人员语音识别转文字显示小程序主要分3篇 1.微信小程序录音篇(小程序基于wx.startRecord()微信语音录 ...
- 微信小程序uni.getImageInfo踩坑大计划
B站https://www.bilibili.com/read/cv6317437 如果你在使用getImageInfo的时候真机调试没问题,上传生成体验版的时候或者是线上版本没反应,主要原因是网络图 ...
- 开发微信小程序 中遇到的坑 及解决方法
开发微信小程序 中遇到的坑 及解决方法 参考文章: (1)开发微信小程序 中遇到的坑 及解决方法 (2)https://www.cnblogs.com/feiye512/p/6070052.html ...
- 微信小程序wx.compressImage的坑
微信小程序wx.compressImage的坑 如何使用 第二个坑 如何使用 微信小程序api官网写的是这个 wx.compressImage({ src: '', // 图片路径 quality: ...
- 微信小程序录音上传功能
微信小程序录音上传 录音弹窗wxml代码: <!-- 录音弹窗 --> <view class="cui-record" hidden="{{isHid ...
最新文章
- 专属于教育界的定律,你知道哪一些?
- 第十六届全国大学智能车竞赛东北赛区成绩与奖项
- java 中required_通过实例学习Spring @Required注释原理
- 适配器模式源码解析(jdk+spring+springjpa+springmvc)
- U盘里的文件夹会以应用程序的方式出现解决
- android 自定义表单,Android实现Ant Design 自定义表单组件
- ERROR 6: GEOS support not enabled.
- 【转】Azure Logic App Demo
- Jeecg-Boot异常处理'jeecg-boot.QRTZ_LOCKS' doesn't exist
- C BackgroundWorker类详细说明
- c#中关于delegate、委托、事件之间的联系、关系
- 大数据学习笔记48:Flume Sources(Flume源)
- [C++] printf 打印 string 类型
- 理解 Delphi 的类(十) - 深入方法[15] - 调用其他单元的函数
- 推荐几个顶级的IT技术公众号
- uva 10330(最大流)
- U的含义,u是什么单位
- 风暴英雄修改服务器,风暴英雄已支持全球各服务器切换 国服不包含在内
- 【老沙讲坛】系列之非技术面试题汇总目录
- 还在为本地到服务器图片的上传下达而烦恼吗?使用base64及flask框架实现服务端部署服务器! 本地客户端图片的上传下达!
热门文章
- Halcon算子--区域特征
- 重庆文理学院计算机科学与技术排名,2016重庆市大学一流学科排行榜,重大第一...
- 亿咖通拟纳斯达克上市:新公司作价38.2亿美元 路演PPT曝光
- 网约车平台Swvl纳斯达克上市:作价15亿美元 路演PPT曝光
- 2017秋季校园招聘iOS开发岗位面试题集锦
- 文件服务器--文件下载
- Tomcat9.0不能成功启动
- 工作纪实_25-SpringCloud整合sentinel问题汇总
- 基于SpringBoot+Redis的JAVA+SQL电子通讯录系统
- Android 12 变更与新特性