广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-04-13 09:18:13 次阅读 稿源:互联网
    广告

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

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告