关于安卓上pcm文件转wav全是噪音解决办法
1.一开始发现8bit的pcm能正常转换,但换成16bit转换出来全是噪音,网上资料也不全,思考了很久,突然想起大小端的问题,进行大小端处理后再进行转换,完美播放!
下面贴出大小端转换方法:
public class BigorLittle {public static String bigtolittle( String fileName) throws IOException {File file = new File(fileName); //filename为pcm文件,请自行设置InputStream in = null;byte[] bytes = null;in = new FileInputStream(file);bytes = new byte[in.available()];//in.available()是得到文件的字节数int length=bytes.length;while (length!=1){long i= in.read(bytes,0,bytes.length);if(i==-1){break;}length-=i;}int dataLength = bytes.length;int shortlength = dataLength / 2;ByteBuffer byteBuffer = ByteBuffer.wrap(bytes, 0, dataLength);ShortBuffer shortBuffer = byteBuffer.order(ByteOrder.LITTLE_ENDIAN).asShortBuffer();//此处设置大小端short[] shorts = new short[shortlength];shortBuffer.get(shorts, 0, shortlength);File file1 = File.createTempFile("pcm",null);//输出为临时文件String pcmtem = file1.getPath();FileOutputStream fos1 = new FileOutputStream(file1);BufferedOutputStream bos1 = new BufferedOutputStream(fos1);DataOutputStream dos1 = new DataOutputStream(bos1);for (int i = 0; i < shorts.length; i++) {dos1.writeShort(shorts[i]);}dos1.close();Log.d("gg", "bigtolittle: "+"="+shorts.length);return pcmtem;}
2.pcm转wav参考文章:
https://blog.csdn.net/mcgrady_tracy/article/details/52502263
https://blog.csdn.net/JenseaChen/article/details/46883319
关于安卓上pcm文件转wav全是噪音解决办法相关推荐
- xshell上传文件出现:unknown error的解决办法
xshell上传文件时出现如图所示的错误: 出现这个问题的原因基本上是由于服务器中的目标文件磁盘已经占满.那解决的办法也很简单,只需要清理对应磁盘上的无用文件,释放一定的磁盘空间,然后再次尝试即可.可 ...
- thinkphp 上传文件时目录不存在的解决办法
做一个文档上传的demo 但是碰到这个情况 代码部分是$upload->savePath = '__Public__/Uploads/';// 设置附件上传目录 最后百度,终于调通,代码部分$ ...
- Django 上传文件出现 OSError Permission denied的解决方法
转载: http://www.myexception.cn/ruby-rails/403940.html Django 上传文件出现 OSError Permission denied的解决办法 我的 ...
- php上传手机文件到服务器,安卓上传文件至PHP服务器(示例代码)
前两个月有幸参加一次免费培训,开发了一款小软件.发现AsyncHttpClient还真是好用. 直奔主题,安卓上传文件至PHP服务器: 1.PHP端服务器: //链接数据库 include (&quo ...
- Java pcm文件与wav文件互转
Java pcm文件与wav文件互转 2018年05月15日 14:32:28 -过期罐头 阅读数:1432 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn. ...
- Android如何将采集到的音频PCM文件转为WAV并保存
1.Android音频采集 添加权限 <uses-permission android:name="android.permission.RECORD_AUDIO" /> ...
- 王者荣耀苹果安卓不显示服务器,王者荣耀苹果、安卓用户换机之后数据全无,解决办法来了?...
原标题:王者荣耀苹果.安卓用户换机之后数据全无,解决办法来了? 手游已经非常普及,但是对于手游玩家而言,部分人使用的苹果手机,另外一部分玩家则是使用的是安卓手机,大家进入的服务器不同,而且不同服务器之 ...
- 使用ftp服务上传文件时553报错的解决
使用ftp服务上传文件时553报错的解决 在使用ftp上传本地文件时,会遇到553的报错,以下是我总结的解决方法 1.使用本地用户登陆时 在使用本地用户登陆ftp服务上传文件时,如果遇到553的报错, ...
- 使用ftp服务上传文件时553报错的解决(绝对有用)
使用ftp服务上传文件时553报错的解决 在使用ftp上传本地文件时,会遇到553的报错,以下是我总结的解决方法 1.使用本地用户登陆时 在使用本地用户登陆ftp服务上传文件时,如果遇到553的报错, ...
最新文章
- 公众号接口,memcached缓存
- 清华姚班校友马腾宇斩获斯隆奖!与鬲融师承一脉,李飞飞点赞祝贺
- 关于产品的一点点想法
- spring Boot Actuator使用
- 【STM32】PWM程序
- c语言程序设计班档案管理系统报告,C语言班级档案管理系统
- spark 架构_深入研究Spark内部和架构
- pthread-win32在VC2005下的使用
- 企业如何实际使用 Docker
- IDEA中terminal中执行git log中文乱码
- 判断字符串是数字、字符、还是...
- VUE微信开放平台实现网站微信登陆
- 软件工程:可行性分析,需求分析思维导图
- 移动Web:媒体查询及手机端PC端识别
- Java实现中文名字排序
- 全新Java开发思维导图
- HT-海思hi3536A开发板详解
- Endnote文献管理 分析 引用
- docker幕布笔记
- 项目实训--unity多人游戏开发--开篇一(综述)
热门文章
- 【Java】绘图入门和机制,绘图方法演示(绘制坦克)
- android6.0获取通讯录权限
- iOS主线程卡顿监测
- XJOI_3571_求十位数
- 开发8年的老Android才知道,赶紧收藏备战金三银四!
- 手把手教你打造一个VIM-IDE
- Eel——js 如何调用python的函数
- MFC——画笔和画刷
- ssh连接报错“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED“问题原因及解决方法
- 框架篇—MVC、MVP、MVCS、MVVM、VIPER使用关系总结