服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - android downsample降低音频采样频率代码

android downsample降低音频采样频率代码

2021-02-26 15:17Android开发网 Android

这篇文章主要介绍了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

延伸 · 阅读

精彩推荐