立体声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 进行其他处理

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

左右声道反转

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

/**

* 左右声道进行反转

* @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 左右声道,Android立体声pcm的数据结构,左右声道拆分、左右声道反转相关推荐

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

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

  2. android 左右声道,Android左右声道的控制

    效果图 源码 我这里主要是用到了AudioTrack实现的左右声道的控制,手机一般都只有两个声道,即左声道和右声道,我们在输出的时候可以选择单声道,也可以选择双声道(立体声). 查看了AudioTra ...

  3. Android中所有API和对应权限的数据结构构建

    #写在前面的话 这是一篇有毒博客,我觉得,读者慎入. 我想说,那个最底下的广告怎么去,辣眼睛- T -T 当然,你也可以帮我点下我的,在这里跪谢大家 https://www.captainbed.ne ...

  4. Android开发之那些好用的数据结构与API(二)

    在 Android开发之那些好用的数据结构与API 一文中提到了Android中一些好用的数据结构和API,这次继续补充几个我在项目中用到的好用的但是不是人人都知道的东东 -- 1.android:d ...

  5. android音频测试方法,Android左右声道音频文件测试

    测试左右声道,其实主要步骤是制作一个 含有左右声道的音频文件. private MediaPlayer mMedieplayer; Button mButton = (Button)findViewB ...

  6. audiotrack android,如何在Android中获取AudioTrack的音量?

    我可以使用track.setStereoVolume(a,b);来设置audioTrack的音量. 但是我找不到像getStereoVolume()或setOnVolumeChangedHandler ...

  7. 【Android RTMP】Android Camera 视频数据采集预览 ( 图像传感器方向设置 | Camera 使用流程 | 动态权限申请 )

    文章目录 安卓直播推流专栏博客总结 一. Camera 传感器方向简介 二. Camera 图像传感器横向显示数据 三. Camera 图像传感器纵向显示数据 四. 设置 Camera 预览数据方向 ...

  8. 【Android RTMP】Android Camera 视频数据采集预览 ( 视频采集相关概念 | 摄像头预览参数设置 | 摄像头预览数据回调接口 )

    文章目录 安卓直播推流专栏博客总结 一. Android 端数据采集涉及到的相关概念 二. Camera 预览图像尺寸设置 三. 获取摄像头采集的数据格式 安卓直播推流专栏博客总结 Android R ...

  9. 【Android RTMP】Android Studio 集成 x264 开源库 ( Ubuntu 交叉编译 | Android Studio 导入函数库 )

    文章目录 安卓直播推流专栏博客总结 一. x264 简介 二. x264 交叉编译 三. Android Studio 导入函数库 四. 交叉编译版本 五. GitHub 项目地址 安卓直播推流专栏博 ...

最新文章

  1. Clean-Code: 注释
  2. 树莓派python编程案例-树莓派Python编程指南.pdf
  3. Windows Server AppFabric Beta 2 for For Vistual Studio 2010已经发布
  4. System message SM02
  5. 低碳数据中心,因何而来?一文读懂如何利用超融合降碳
  6. python-socket客户服务端的传输原理异常关闭的情况
  7. python字典函数_python-字典常用函数
  8. 趣图图解 SOLID 软件开发原则
  9. 牛腩新闻发布系统—403.14错误
  10. sitemap死链检测工具-免费sitemap死链检测抓取工具
  11. 基于信息论的特征选择算法综述
  12. 元胞自动机python代码_Python实现元胞自动机(康威生命游戏)
  13. NLPIR词性标记集
  14. Unity的五个窗口面板
  15. [DAX] DIVIDE函数
  16. 同为PM,项目经理和产品经理那个才是未来的CEO?【大海午餐9】
  17. arcgis直方图工具在哪_这些分析工具都分不清?别说你懂数据分析!
  18. 关于SAXReader 读取文件乱码问题
  19. 从零编写基于MATLAB的GNSS_SDR程序(GNSS软件接收机)——学习记录(2)
  20. valuable的用法_valuable是什么意思_valuable的翻译_音标_读音_用法_例句_爱词霸在线词典...

热门文章

  1. U281819 糟心的语文课
  2. 大脑衰老可逆转,只需注入年轻脑脊液,「返老还童」登Nature
  3. 对比两张表的数据并筛选出数据不同的
  4. 瑞萨e2studio(1)----瑞萨芯片之搭建FSP环境
  5. 两条线段的交点的计算
  6. 解决安卓手机卡顿的七个技巧
  7. 2019上海到南京的公积金转移
  8. linux命令-ll之按时间、大小顺序排列显示
  9. [转]申瓯 JSY2000-06 程控电话交换机呼叫转移设置
  10. 【求助】如何在移动固态硬盘上装一个完美的移动系统