android 降低音频采样频率 downsample
使用Android AudioRecord 录制PCM文件,android SDK保证在所有设备上都支持的采样频率只有44100HZ,
所以如果想得到其他采样频率的PCM数据,有几种方式:
1.在设备上尝试可用的采样频率,
2.使用44.1K采样后转换采样频率。
其中第二种转换采样频率的操作,有很多种方法。目前我使用的是SSRC,效果很好。
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 SSRC(fileInputStream, fileOutputStream, 44100, 8000, 2, 2, 1, Integer.MAX_VALUE, 0, 0, true); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
上述代码中的8000是目标采样频率。
SSRC官网:http://shibatch.sourceforge.net/
JSSRC:https://github.com/hutm/JSSRC
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。