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相关阅读:
android获取监听SD Card状态的方法
jQuery中removeClass()方法用法实例
css3 按钮样式简单可扩展创建
iOS编写下拉刷新控件
Win10正式版首次升级出现黑屏卡顿状况该怎么办?
如何用php生成扭曲及旋转的验证码图片
详解Linux中的命名空间
ASP.NET中Web API的简单实例
DOM操作和jQuery实现选项移动操作的简单实例
图片不存在使用默认图片代替的实例
php快递单号查询接口使用示例
学习 C++能带给我们什么
CentOS系统中挂载光盘镜像ISO文件的教程
php自动加载autoload机制示例分享