android downsample降低音频采样频率代码
使用Android AudioRecord 录制PCM文件,android SDK保证在所有设备上都支持的采样频率只有44100HZ,
所以如果想得到其他采样频率的PCM数据,有几种方式:
1.在设备上尝试可用的采样频率,
2.使用44.1K采样后转换采样频率。
其中第二种转换采样频率的操作,有很多种方法。目前我使用的是Sclass="lazy" data-src,效果很好。
代码如下:
private void simpleDownSample() {
File BeforeDownSampleFile = new File(RawRecordFilePath);
File DownSampled = new File(DownSampledFilePath);
try {
FileInputStream fileInputStream = new FileInputStream(BeforeDownSampleFile);
FileOutputStream fileOutputStream = new FileOutputStream(DownSampled);
new Sclass="lazy" data-src(fileInputStream, fileOutputStream, 44100, 8000,
2,
2,
1, Integer.MAX_VALUE, 0, 0, true);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
上述代码中的8000是目标采样频率。
Sclass="lazy" data-src官网:http://shibatch.sourceforge.net/
JSclass="lazy" data-src:https://github.com/hutm/JSclass="lazy" data-src
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341