欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-11-08 14:35:04
使用android audiorecord 录制pcm文件,android sdk保证在所有设备上都支持的采样频率只有44100hz,所以如果想得到其他采样频率的pcm数据...

使用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