立体声pcm数据结构

Android录音默认录制生成的是pcm文件,假设我们设置采样率为16K,录音类型为AudioFormat.CHANNEL_IN_STEREO(立体声录音),数据类型为AudioFormat.ENCODING_PCM_16BIT。
则pcm文件的数据结构大致为2byte左声道、2byte右声道、2byte左声道、2byte右声道….

立体声拆分

现在需要把它拆分成左右声道来进行其他处理,可以通过如下方式来实现:

    private void splitStereoPcm(byte[] data) {int monoLength = data.length / 2;byte[] leftData = new byte[monoLength];byte[] rightData = new byte[monoLength];for (int i = 0; i < monoLength; i++) {if (i % 2 == 0) {System.arraycopy(data, i * 2, leftData, i, 2);} else {System.arraycopy(data, i * 2, rightData, i - 1, 2);}}//TODO 使用leftData、rightData 进行其他处理}
左右声道反转

假如我们需要将左、右声道反转,也很简单,具体的代码如下:

    /*** 左右声道进行反转* @param data* @return*      反转后的数据*/private byte[] getReversedData(byte[] data) {byte[] reversed = new byte[data.length];for (int i = 0; i < data.length - 3; i = i + 4) {reversed[i] = data[i+2];reversed[i+1] = data[i+3];reversed[i+2] = data[i];reversed[i+3] = data[i+1];}return reversed;}

Android立体声pcm的数据结构,左右声道拆分、左右声道反转相关推荐

  1. android 左右声道,Android立体声pcm的数据结构,左右声道拆分、左右声道反转

    立体声pcm数据结构 Android录音默认录制生成的是pcm文件,假设我们设置采样率为16K,录音类型为AudioFormat.CHANNEL_IN_STEREO(立体声录音),数据类型为Audio ...

  2. android中调用fft函数,J使用PCM数据在Android中转换FFT(JTransforms FFT in Android from PCM data)...

    J使用PCM数据在Android中转换FFT(JTransforms FFT in Android from PCM data) 我一直在玩这个游戏已经有一段时间了,我无法弄清楚我在这里要做的事情. ...

  3. (原)hisi3531立体声pcm实现播放方式

    版权声明:本文为博主原创文章,未经博主允许不得转载(http://www.cnblogs.com/lihaiping/p/5251854.html) 最近在使用hisi3531做一个项目,需要实现本地 ...

  4. PCM音频处理一:分离左右声道音频

    文章目录 PCM16LE简介 函数代码 测试用例 本文介绍了将PCM16LE双声道数据中左声道和右声道的数据分离成两个文件,PCM音频数据可以使用音频编辑软件导入查看,推荐免费开源的音频编辑软件Aud ...

  5. 左声道,右声道和立体声

    1.左声道:一般是把相关的低音频区信号压缩后经此音轨播放人声对白.译音大多在此. 右声道:一般是把相关的高.中音频区信号压缩后经此音轨播放,以求声音播放圆润. 立体声:除用左.右声道音轨播放外,经对声 ...

  6. PCM音频处理(1)——分离声道、以及声音处理

    文章目录 一.声道分离 二.对左边声道进行降半处理 一.声道分离 #include <stdio.h> #include <stdlib.h>int pcm16_split(c ...

  7. 16bit的pcm双声道转单声道

    最近搞音频有点多,就稍微写一下,记录一下成长经历吧. pcm格式应该算是音频的原始数据吧,后面再经过不同的编码算法,转为不同的音频文件,比如mp3,amr等等.转为amr有很成熟的编码算法,AMR-N ...

  8. FINAL CUT 当中设置左右声道及多声道的方法

    FINAL CUT 当中设置左右声道及多声道的方法 FINAL CUT 设置左右声道 设置多声道 设置 工作站表格 FINAL CUT FINAL CUT 软件当中默认的设置是输出为立体声的. 当需要 ...

  9. FFmpeg源码分析:获取声道布局与声道数

    FFmpeg在libavutil模块封装有获取声道布局.声道名字与声道数的API.声道布局包括:单声道.立体声道.环绕声道.5.0声道.5.1声道.7.0声道.7.1声道等.声道掩码包括:前方左边.前 ...

最新文章

  1. 安装Visual C ++进行跨平台移动开发
  2. error和exception
  3. Java中关于单核处理多个线程的认识与了解
  4. 数组:完成等差等比数列,及其他数列
  5. 小青蛙oracle跟踪,Oracle 存储过程:游标
  6. (zt)OpenGL中的Alpha测试,深度测试,模板测试,裁减测试
  7. Java连接数据库(学生管理系统案例,可以实现增删改查)
  8. Lantek钣金软件的介绍与安装
  9. android和电脑共享文件,安卓手机怎么访问电脑共享文件
  10. vue前端使用xlsx和 xlsx-style 导出excel,并修改样式
  11. 安装Ofiice2016 错误提示“检查您的internet连接是否工作正常”等
  12. Windows锁机病毒
  13. android接口的作用是什么意思,Android开发中接口的用处
  14. 计算机发展史评课议课稿,历史课评课稿
  15. NANK南卡发布新品旗舰版——南卡护眼台灯Pro,延续“护眼”理念
  16. elementui icon图标
  17. 更改文字颜色为红色HTMl语言,红色字体CSS_设置html字体颜色为红色
  18. 轻量级的layui框架后台模板
  19. 为什么正则表达式中.*可以匹配任意字符?
  20. 查找文献必备的文献下载神器

热门文章

  1. 计算机网络-常见知识
  2. 批量处理word所有回车行
  3. Java之美[从菜鸟到高手演变]之智力题【史上最全】 .
  4. ubuntu baidupan download
  5. tedu斌-MySql笔记2112-2
  6. Win10 系统,LOL游戏中切屏时黑屏时间过长的解决方法
  7. yum安装的mysql8在同一台机器上实现主从配置部署(同一台主机)(图文详解)
  8. SOLIDWORKS同时显示展开尺寸图和折弯图
  9. 怎么清理iPhone12中内存里的“其他”
  10. 我最喜欢的9个 Python深度学习库