您的位置:首页 > 移动开发 > Android开发

android 降低音频采样频率 downsample

2014-02-19 16:59 507 查看
使用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: