import android.media.AudioTrack; //导入方法依赖的package包/类

@Override

public void onCompleted() {

// create a new AudioTrack to workaround audio routing issues.

AudioTrack audioTrack = new AudioTrack.Builder()

.setAudioFormat(mAudioOutputFormat)

.setBufferSizeInBytes(mAudioOutputBufferSize)

.setTransferMode(AudioTrack.MODE_STREAM)

.build();

if (mAudioOutputDevice != null) {

audioTrack.setPreferredDevice(mAudioOutputDevice);

}

audioTrack.setVolume(AudioTrack.getMaxVolume() * mVolume / 100.0f);

audioTrack.play();

mConversationHandler.post(new Runnable() {

@Override

public void run() {

mConversationCallback.onResponseStarted();

}

});

for (ByteBuffer audioData : mAssistantResponses) {

final ByteBuffer buf = audioData;

mConversationHandler.post(new Runnable() {

@Override

public void run() {

mConversationCallback.onAudioSample(buf);

}

});

audioTrack.write(buf, buf.remaining(),

AudioTrack.WRITE_BLOCKING);

}

mAssistantResponses.clear();

audioTrack.stop();

audioTrack.release();

mConversationHandler.post(new Runnable() {

@Override

public void run() {

mConversationCallback.onResponseFinished();

}

});

if (mMicrophoneMode == MicrophoneMode.DIALOG_FOLLOW_ON) {

// Automatically start a new request

startConversation();

} else {

// The conversation is done

mConversationHandler.post(new Runnable() {

@Override

public void run() {

mConversationCallback.onConversationFinished();

}

});

}

}

audiotrack java,Java AudioTrack.release方法代码示例相关推荐

  1. java kryo_Kryo框架使用方法代码示例

    Kryo框架的source已移至https://github.com/EsotericSoftware/kryo ,进入此页面,然后点击右边的Download Zip按钮,就能下载到最新版本的Kryo ...

  2. java readtimeout_Java HttpURLConnection.getReadTimeout方法代码示例

    import java.net.HttpURLConnection; //导入方法依赖的package包/类 /** * 得到响应对象 * * @param urlConnection * @retu ...

  3. java invalidate_Java Component.invalidate方法代码示例

    import java.awt.Component; //导入方法依赖的package包/类 /** Installs the component we will embed to display t ...

  4. java hasmoreelements_Java IOException.hasMoreElements方法代码示例

    import java.io.IOException; //导入方法依赖的package包/类 /** * fileName���� ���� package �������� ������ ���� ...

  5. java methode_Java Method.getTypeParameters方法代码示例

    import java.lang.reflect.Method; //导入方法依赖的package包/类 private void validateRuleMethod(MethodRuleDefin ...

  6. java setmethod_Java Operation.setJavaMethod方法代码示例

    import com.sun.tools.internal.ws.processor.model.Operation; //导入方法依赖的package包/类 private void createJ ...

  7. java cancel_Java RunnableFuture.cancel方法代码示例

    import java.util.concurrent.RunnableFuture; //导入方法依赖的package包/类 @Test public void testSnapshotAsyncC ...

  8. java getevent_Java ActionEvent.getWhen方法代码示例

    import java.awt.event.ActionEvent; //导入方法依赖的package包/类 @Override final public void actionPerformed(A ...

  9. java deepcopy_Java JsonNode.deepCopy方法代码示例

    import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类 /** * Applies this schema rule t ...

最新文章

  1. word文档怎么给数字加千分符_Word中如何将文档中的金额数值设置为财务数字中的千分位格式...
  2. 【278】◀▶ Python 数学函数说明
  3. python的scrapy爬虫可以将爬去的数据放入数据库吗_Python基于Scrapy的爬虫 数据采集(写入数据库)...
  4. 杨氏矩阵定义及其查找的实现C++
  5. mybatis实现多对多
  6. listview滚动到底部
  7. asp.net与JAVASCRIPT函数的相互调用
  8. Android之如何解决ScrollView起始位置不是最顶部的解决办法
  9. 如何在报表中实现算法的可挂接需求
  10. SQL Server IN语句使用举例
  11. std::map的[]方法重写
  12. mysql可视化创建外键说明_关于使用可视化图形工具navicat for mysql来创建外键的步骤...
  13. UDP 理论概述与编码入门
  14. 光纤激光器输出激光参数的一些概念及运算
  15. keepalived
  16. win10电脑找不到WLAN的解决方法(不显示附近wifi)
  17. 算法复杂性分析及运算规则证明(一)
  18. 【PHP】安装phpoffice/phpspreadsheet环境OneinStack安装ext-fileinfo这个扩展
  19. 图灵停机问题(halting problem)
  20. android 实现发送彩信方法 (MMS)

热门文章

  1. 元宇宙产业委共同主席倪健中:打开元宇宙的潘多拉魔盒,释放元宇宙产业无限的想象与发展空间|平安银行元宇宙与新终端创新沙龙
  2. [日本留学]高频面试问题清单
  3. android女手机弹唱take a bow,黑科技!不会乐器也能钢琴弹唱,手机上就能练习,你应该知道...
  4. oracle-创建表空间、用户及授权
  5. 关于nxp平台上i2c扫描不到wm8960地址的问题
  6. 2013计算机应用基础试题及答案,2013年电大计算机应用基础试题及参考答案
  7. ECU-TEST笔记使用技巧01
  8. 【Qualcomm】在EFS的NV项中打开voice通话自动接听
  9. 25332 Problem A 例题4-1 一元二次方程求根
  10. C语言是从什么位置开始执行程序,c程序执行过程是从哪开始到哪里结束的