Android如何使用摄像头旁边的麦克风采集音频

zjuzhengchao 2013-09-11 06:15:30
最近要做一个Android平台实时对讲的东西,遇到了一些问题,在这里求助大伙。
使用Android手机默认麦克风进行实时对讲时,由于麦克风离扬声器较近,会出现较严重的啸叫、回声、噪音等现象,并且不同手机表现不一。
发现大部分Android手机都设计了两个麦克风,其中一个在摄像头旁边。
问题:
如何使用麦克风旁边的摄像头旁边的麦克风进行音频采集,同时禁用底下的默认麦克风?

这里使用AudioRecord进行音频采集,其构造器如下:
AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes)
其中第一个参数就是选择录音源的,其可选参数如下:
MediaRecorder.AudioSource.CAMCORDER
MediaRecorder.AudioSource.DEFAULT
MediaRecorder.AudioSource.MIC
MediaRecorder.AudioSource.VOICE_CALL
MediaRecorder.AudioSource.VOICE_COMMUNICATION
MediaRecorder.AudioSource.VOICE_DOWNLINK
MediaRecorder.AudioSource.VOICE_RECOGNITION
MediaRecorder.AudioSource.VOICE_UPLINK

通常使用参数MediaRecorder.AudioSource.MIC,对应的就是手机底下的主麦克风。
而参数MediaRecorder.AudioSource.CAMCORDER,应该对应的是摄像头旁边的麦克风。

现在在使用过程中遇到了问题,不同手机在使用参数MediaRecorder.AudioSource.CAMCORDER时,表现出来的结果不一,具体如下:
1、华为手机,正常选择摄像头旁边的麦克风;
2、三星手机,同时选择摄像头旁边的麦克风和底下的麦克风;
3、魅族手机,只选择底下的麦克风。


那么,如何做到只使用麦克风旁边的摄像头旁边的麦克风进行音频采集,同时禁用底下的默认麦克风?
...全文
2485 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ma_GH 2016-04-17
  • 打赏
  • 举报
回复
楼主解决了吗?今天我遇到这个问题,跪求
mmAmilly 2015-08-31
  • 打赏
  • 举报
回复
不同的android手机不一样,这个问题也一直困扰我,有的手机可以实现,但有的却实现不了
丨怒发冲冠丨 2015-07-12
  • 打赏
  • 举报
回复
在一片paper上看到过,安卓自带的借口没有权限的,但是文章中确实是用了Ubiquitous Keyboard for Small Mobile Devices: HarnessingMultipath Fading for Fine-Grained Keystroke Localization可以参考下
zyp009 2015-01-21
  • 打赏
  • 举报
回复
楼主解决了?
jerryang00 2013-12-20
  • 打赏
  • 举报
回复
有一个麦克风是降噪的,,维纳滤波,,不一定可操作(我的猜想)。
zjuzhengchao 2013-09-12
  • 打赏
  • 举报
回复
今天继续求助
zjuzhengchao 2013-09-12
  • 打赏
  • 举报
回复
谢谢,不过这书对这个问题没有什么帮助
胖虎 2013-09-12
  • 打赏
  • 举报
回复
可以看下“深入理解Android”这本书,嘿嘿,我没做过,不过帮顶一下吧~
zjuzhengchao 2013-09-12
  • 打赏
  • 举报
回复
有没有知道的朋友?

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧