我目前有一些代码,该代码使用AudioRecord类从设备麦克风中读取录音,然后使用AudioTrack类将其回放。

我的问题是,当我播放时,它是通过扬声器播放的。

我希望它通过设备上的听筒播放。

这是我的代码:

public class LoopProg extends Activity {

boolean isRecording; //currently not used

AudioManager am;

int count = 0;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

am.setMicrophoneMute(true);

while(count <= 1000000){

Record record = new Record();

record.run();

count ++;

Log.d("COUNT", "Count is : " + count);

}

}

public class Record extends Thread{

static final int bufferSize = 200000;

final short[] buffer = new short[bufferSize];

short[] readBuffer = new short[bufferSize];

public void run() {

isRecording = true;

android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_AUDIO);

int buffersize = AudioRecord.getMinBufferSize(11025, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT);

AudioRecord arec = new AudioRecord(MediaRecorder.AudioSource.MIC, 11025, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, buffersize);

AudioTrack atrack = new AudioTrack(AudioManager.STREAM_MUSIC, 11025, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, buffersize, AudioTrack.MODE_STREAM);

am.setRouting(AudioManager.MODE_NORMAL,1, AudioManager.STREAM_MUSIC);

int ok = am.getRouting(AudioManager.ROUTE_EARPIECE);

Log.d("ROUTING", "getRouting = " + ok);

setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);

//am.setSpeakerphoneOn(true);

}

}

}

如您所见,如果我尝试使用AudioManager类及其方法(包括不赞成使用的setRouting方法)尝试的代码没有任何效果,则setSpeakerphoneOn方法似乎完全无效,路由方法也无效。

有没有人知道如何通过听筒而不是Spaker电话播放它?

android 音频输出手动切换到听筒播放,Android-通过听筒播放音频相关推荐

  1. android多音频输出,基于Android车载系统的多路音频输出的方法、装置及系统与流程...

    本发明涉及Android车载系统领域,特别涉及一种基于Android车载系统的多路音频输出的方法.装置及系统. 背景技术: 车载系统主要由主机.显示屏.操作键盘(遥控器)和天线组成.它实现了野外踏勘. ...

  2. 电视音频输出怎么连接数字功放机

    电视作为用户家中受欢迎的电器之一,从上个世纪开始就是市场的热点!毫无疑问,智能电视已经成为很多用户的首选.与普通电视相比,智能电视功能更丰富,可以实现多种功能.比如看各种精彩的网络视频,安装应用和游戏 ...

  3. android 模拟器横竖屏切换

    android 模拟器横竖屏切换 今天在做android实验的时候,由于遇到要横竖屏切换,所以去网上找了一下这样的方法: 找到以下方法: 1.通过ctrl  +  F11  或者  ctrl  +   ...

  4. Android官方开发文档Training系列课程中文版:管理音频播放之音频输出硬件的处理

    原文地址:http://android.xsoftlab.net/training/managing-audio/audio-output.html 当用户使用Android设备享受音频时,它有多重的 ...

  5. 简单聊一下Android音频通路的切换

    Android支持多种设备的的输出.一台正常的机子,本身就自带话筒,扬声器,麦克风等多个声音输入输出设备,再加上五花八门的外置设备(通过耳机,蓝牙,wifi等方式连接),使声音的输出更具多样性.And ...

  6. Android-Frame布局,UI布局切换,录音,照相机,影音播放器,音频播放器

    <FrameLayout anroid:layout_weight="1"> <ImageView android:scaleType="fitCent ...

  7. AVAudioSession音频会话(类别选择/音频输出切换)

    简介 音频会话是一个Singleton对象,您可以使用它来设置应用程序的音频上下文环境,并向系统表达您的应用程序音频行为的意图. 使用此类可以: 启用或停用应用程式的音讯工作阶段 设置音频会话类别和模 ...

  8. 【Android 高性能音频】Oboe 开发流程 ( 检查 Oboe 音频流属性 | 开始播放 | 停止播放 | 关闭 Oboe 音频流 | 重新配置 Oboe 音频流属性 )

    文章目录 一.检查 Oboe 音频流属性 二.开始播放 三.停止播放 四.关闭音频流 五.重新配置 Oboe 音频流属性 Oboe GitHub 主页 : GitHub/Oboe ① 简单使用 : G ...

  9. Android --- IjkPlayer 阅读native层源码之解码成功后的音频数据如何发送回Android播放(九)

    整章目录:Android------- IjkPlayer 源码学习目录 本篇会有很多源代码,请注意阅读每行代码上面的注释. 本篇介绍的主要内容为上图红框圈起部分: 在前面介绍了如何将一个AvPack ...

最新文章

  1. python语言学了有用吗-转行学习Python开发有什么优势
  2. Android application捕获崩溃异常
  3. VMProtect SDK完全避坑指南
  4. 利用WDS实现零接触部署Windows 7 VHD
  5. like左匹配索引失效_导致MySQL索引失效的一些常见写法总结
  6. socket通信之最简单的socket通信
  7. request用法_3分钟短文:说说Laravel页面会话之间的数据保存Session用法
  8. slice和map的高级主题
  9. 计算机维修工具大全,电脑硬件维修测试工具大全(附送各类PC检修资源)
  10. fh 幅频特性曲线怎么画fl_测量rc带通滤波器的幅频特性和相频特性-电子科技大学.ppt...
  11. esp8266教程:GPIO输入输出模式
  12. 人工智能搜索算法案例分析
  13. 2021.03.17 pokémon小游戏开发记录与周总结
  14. C++结构体中包含容器,push_back异常
  15. Day3 分支和循环
  16. 凌晨3点不回家,你不要老婆孩子了?
  17. 语法练习:left2
  18. Django模型类与后台管理
  19. 两级分销加两级代理佣金计算工具
  20. Windows查看局域网在线的所有IP

热门文章

  1. weblogic卸载 for linux
  2. [开关电源]浪涌电流有点高?我来给你支支招
  3. arm-linux-gnueabihf 交叉编译ffmpeg
  4. Python案例-网络编程-socket入门-serverclient
  5. 韦德高清图片壁纸下载
  6. python django考勤签到系统
  7. 计算机改显存会有啥影响,显卡显存越大越好吗?显存对电脑速度的影响有哪些?...
  8. 北大光华管理学院公开课北京站
  9. Wordpress 修改 mysql 插件_WordPress批量查找替换修改文章内容的插件和代码
  10. 什么是云渲染?【谈谈云渲染和传统渲染农场的区别】