//将16位pcm数据转换成8位有符号的pcm

byte[] readBuffer = new byte[4096];

byte[] sendBuffer = new byte[readBuffer.length / 2];

for (int i = 0; iif ((readBuffer[i + 1] & 0x80) == 0x80) {

sendBuffer[i / 2] = (byte) (readBuffer[i + 1] & 0x7f);

} else {

sendBuffer[i / 2] = (byte) (readBuffer[i + 1] + 0x80);

}

}

//将8位有符号的的pcm数据转换成16位

byte[] readBuffer = new byte[4096];

int audioDataLen = readBuffer.length * 2;

byte[] audioBuffer = new byte[readBuffer.length * 2];

for (int i = 0; i/*if (readBuffer[i] == 63 && i != 0 && i != readBuffer.length - 1) {

readBuffer[i] = (byte) ((readBuffer[i + 1] + readBuffer[i - 1]) / 2);

}*/

if ((readBuffer[i] & 0x80) == 0x80) {

audioBuffer[2 * i] = 0x00;

audioBuffer[2 * i + 1] = (byte) (readBuffer[i] - 0x80);

} else {

audioBuffer[2 * i] = (byte) 0xff;

audioBuffer[2 * i + 1] = (byte) (readBuffer[i] - 0x80);

}

}

java pcm16位_Java pcm格式的音频实现8位和16位互转相关推荐

  1. java bmp 变色_java将图片(jpg/bmp/png)转16位bmp(RBG565)

    我们无需将图片(如bmp)的像素信息提取出来后进行左移右移操作,直接使用BufferedImage的构造方法来进行转换即可.步骤如下: BufferedImage获取源图片的数据(支持jpg/png/ ...

  2. 编写计算表达式(X-Y+25)/Z的值得程序,要求将其商和余数分别放在A、B单元中。(设X和Y是32位无符号数,A、B和Z是16位无符号数,不考虑溢出情况。)

    编写计算表达式(X-Y+25)/Z的值得程序,要求将其商和余数分别放在A.B单元中.(设X和Y是32位无符号数,A.B和Z是16位无符号数,不考虑溢出情况.) P151 例4.8 汇编思路:首先在DA ...

  3. 如何将Pcm格式的音频文件转换成Wave格式的文件

    最近在做一款变声App,其中就用到了将pcm格式转wave格式,下面贴出源代码,希望带有需求的童鞋有帮助!!!这里是c++语言写的,也可以用java实现.当然java调用native函数要用到jni技 ...

  4. java日期转换_java日期格式转换

    突然忘记了时间格式怎么转换,特此做个记录 Java时间格式转换大全 import java.text.*; import java.util.Calendar; public class VeDate ...

  5. pcm转wav,解决浏览器无法直接播放pcm格式的音频数据

    1. 创建PCM2WAV类 const stream = require('stream') const waveheader = require('waveheader')class PCM2WAV ...

  6. java数字格式化_Java数字格式

    java数字格式化 当我看到其他人编写不必要的Java代码并且由于缺乏对已经提供所需功能的JDK类的了解而编写了不必要的Java代码时,我会想到很多次. 这样的一个例子是时间相关的常量的使用硬编码值的 ...

  7. java 序列化规范_Java序列化格式详解

    RPC的世界,由于涉及到进程间网络远程通信,不可避免的需要将信息序列化后在网络间传送,序列化有两大流派: 文本和二进制. 文本序列化 序列化的实现有很多方式,在异构系统中最常用的就是定义成人类可读的文 ...

  8. java里面出生日期_java出生日期格式

    如果你的日期类型是yyyy-mm-dd格式,getModel应该是支持,jfinal会对日期型参数进行长度判断,如果长度不包含时分秒的长,那么按yyyy-mm-dd去转换.所以,建议打开chrome看 ...

  9. java视频转换_Java视频格式转化的实现方法

    Java视频格式转化的实现方法 发布时间:2020-10-04 03:23:51 来源:脚本之家 阅读:107 作者:liuyazhuang 本文实例为大家分享了Java视频格式转化的具体代码,供大家 ...

最新文章

  1. html dom节点类型,浅谈Javascript中的12种DOM节点类型
  2. [洛谷P5057][CQOI2006]简单题
  3. 多线程之实现Runnable接口及其优点
  4. python 中的static-method (静态函数), classmethod(类函数 ), 成员函数
  5. FastRoute - 快速请求路由
  6. 工厂供电MATLAB仿真,工厂供电虚拟仿真实验设计研究
  7. 手机可以使用鸿蒙系统,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...
  8. STM32F103DAC功能实现
  9. (react+dva+antd)知识点总结
  10. 多片段时序数据建模预测实践
  11. java人事考勤打卡小程序源码
  12. linux chmod 命令理解
  13. 谷歌卫星影像免费下载?来看这些软件
  14. 而立之年,时间都去哪儿
  15. 解决学术打不开的方法
  16. Spring是什么意思?
  17. nowcoder 鹏
  18. Twitter相关功能集成
  19. 反渗透设备:影响反渗透系统的各种离子因素
  20. 使用synchronized和Lock对象获取对象锁

热门文章

  1. Mybatis-06【MyBatis基于XML的详细使用——缓存】
  2. Unity实现鼠标的固定与隐藏
  3. 祭奠我那失去的青春--故游柞水(一、我那迷茫的青春年代)
  4. Mac下虚拟机联网处理
  5. chouti的布局 ,chouti的主页面,ContentFragment界面
  6. 怎么把模糊图片变清晰?试试这几种简单有效的修复方法
  7. C&C++语言之可变参数传递
  8. python中的大数据品牌运营策划营销_【干货】如何用大数据指导市场营销?请举出若干实际例子或者实用方法,而不是纯粹的理论?...
  9. Grafana使用教程
  10. PVE系列教程(八)、安装OpenWRT软路由