import android.media.audiofx.AcousticEchoCanceler; //導入方法依賴的package包/類

@Override

public boolean initCapturer() {

// initalize audio mode

audioManagerMode.acquireMode(audioManager);

// get the minimum buffer size that can be used

int minRecBufSize = AudioRecord.getMinBufferSize(

captureSettings.getSampleRate(),

NUM_CHANNELS_CAPTURING == 1 ? AudioFormat.CHANNEL_IN_MONO : AudioFormat.CHANNEL_IN_STEREO,

AudioFormat.ENCODING_PCM_16BIT

);

// double size to be more safe

int recBufSize = minRecBufSize * 2;

// release the object

if (noiseSuppressor != null) {

noiseSuppressor.release();

noiseSuppressor = null;

}

if (echoCanceler != null) {

echoCanceler.release();

echoCanceler = null;

}

if (audioRecord != null) {

audioRecord.release();

audioRecord = null;

}

try {

audioRecord = new AudioRecord(AudioSource.VOICE_COMMUNICATION,

captureSettings.getSampleRate(),

NUM_CHANNELS_CAPTURING == 1 ? AudioFormat.CHANNEL_IN_MONO

: AudioFormat.CHANNEL_IN_STEREO,

AudioFormat.ENCODING_PCM_16BIT, recBufSize);

if (NoiseSuppressor.isAvailable()) {

noiseSuppressor = NoiseSuppressor.create(audioRecord.getAudioSessionId());

}

if (AcousticEchoCanceler.isAvailable()) {

echoCanceler = AcousticEchoCanceler.create(audioRecord.getAudioSessionId());

}

} catch (Exception e) {

throw new RuntimeException(e.getMessage());

}

// check that the audioRecord is ready to be used

if (audioRecord.getState() != AudioRecord.STATE_INITIALIZED) {

throw new RuntimeException("Audio capture is not initialized " + captureSettings.getSampleRate());

}

shutdownCaptureThread = false;

new Thread(captureThread).start();

return true;

}

create用法java_Java AcousticEchoCanceler.create方法代碼示例相关推荐

  1. newinsets用法java_Java XYPlot.setInsets方法代碼示例

    import org.jfree.chart.plot.XYPlot; //導入方法依賴的package包/類 public static void setTimeSeriesRender(Plot ...

  2. rowdata java_Java RowDataUtil.addRowData方法代碼示例

    本文整理匯總了Java中org.pentaho.di.core.row.RowDataUtil.addRowData方法的典型用法代碼示例.如果您正苦於以下問題:Java RowDataUtil.ad ...

  3. drawlinetest.java_Java Graphics2D.setRenderingHint方法代碼示例

    本文整理匯總了Java中java.awt.Graphics2D.setRenderingHint方法的典型用法代碼示例.如果您正苦於以下問題:Java Graphics2D.setRenderingH ...

  4. bls java_Java PairingFactory.getPairing方法代碼示例

    本文整理匯總了Java中it.unisa.dia.gas.plaf.jpbc.pairing.PairingFactory.getPairing方法的典型用法代碼示例.如果您正苦於以下問題:Java ...

  5. isdisposed java_Java Shell.isDisposed方法代碼示例

    本文整理匯總了Java中org.eclipse.swt.widgets.Shell.isDisposed方法的典型用法代碼示例.如果您正苦於以下問題:Java Shell.isDisposed方法的具 ...

  6. .net ref java_Java URL.getRef方法代碼示例

    本文整理匯總了Java中java.net.URL.getRef方法的典型用法代碼示例.如果您正苦於以下問題:Java URL.getRef方法的具體用法?Java URL.getRef怎麽用?Java ...

  7. java中move用法_Java IFile.move方法代碼示例

    import org.eclipse.core.resources.IFile; //導入方法依賴的package包/類 /** * * 01. Class0 uses Class1 in requi ...

  8. remote_port java_Java HttpServletRequest.getRemotePort方法代碼示例

    import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類 public ServletRequestCopy(HttpServ ...

  9. exhaustion java_Java Player.setExhaustion方法代碼示例

    import org.bukkit.entity.Player; //導入方法依賴的package包/類 /** * Set SamaGamesAPI */ @Override public void ...

最新文章

  1. 更改Visual Studio 2010/2012/2008的主题设置
  2. 操作选项_消防设施操作员关键技能之六:能切换集中火灾报警控制器、消防联动控制器工作状态...
  3. 近20万奖金:天池异常检测大赛来了!
  4. SimpleExecutor.doQuery()-ResultSetHandler 处理结果集
  5. Kubernetes应用部署模型解析(原理篇)
  6. WMI介绍和应用查询硬件信息(硬盘信息、主板信息、BIOS信息、显示器信息、网络适配器、CPU信息)
  7. js 闭包作用(转自别人的)
  8. 求整数的位数及各位数字之和 (15 分)
  9. 乐源机器人没电提醒吗_云迹讲解机器人,你的专属机器人服务专家
  10. jquery里判断数组内是否包含了指定的值或元素的方法
  11. LoadRunner正确的登录压力测试方法实战
  12. 计算机网络的概述以及网络的组成
  13. CSS3权威指南读书笔记
  14. 目录遍历(Directory traversal)
  15. 程序员如何预防颈椎病?
  16. mysql求月平均_mysql求平均值
  17. postgresql设置开机自启动
  18. 369亿估值的AI市场下,中国AI学习者的野心与实力
  19. 移动机顶盒搭建网页服务器,超级简单搭建自己的私人影视库
  20. 2019-2020-1 1823《程序设计与数据结构》第一周作业总结

热门文章

  1. 在SLS中快速实现异常巡检
  2. 专访阿里云专有云马劲,一个理性的理想主义者
  3. 一文教你如何在生产环境中在Kubernetes上部署Jaeger
  4. 巧用 Trie 树,实现搜索引擎关键词提示功能
  5. 看完就入门系列!吞吐量、消息持久化、负载均衡和持久化、伸缩性…… 你真的了解 Kafka 了吗?...
  6. 那些年我们用过神级的代码注释
  7. 关于这道填空题,你会如何回答?(附带学习链接)
  8. 唯品会2017年双11大促技术保障实践,全域提供25万QPS服务能力
  9. MySQL InnoDB Memcached Plugin在Oray公司的实践
  10. 打印速度快点的打印机_瞒着领导偷偷给你们发两台打印机