MediaRecorder.AudioSource参数

MediaRecorder.AudioSource.DEFAULT  默认音频源

VOICE_CALL︰设定录音来源为语音拨出的语音与对方说话的声音。
MIC︰设定录音来源为麦克风。
CAMCORDER︰设定录音来源与同方向的相机麦克风相同,若相机无内置相机或无法设定时,则使用预设的麦克风。

VOICE_COMMUNICATION 摄像头旁边的麦克风

VOICE_DOWNLINK: 下行声音

VOICE_UPLINK:上行声音

VOICE_RECOGNITION:语音识别

 

MediaRecorder.AudioSource

转载于:https://www.cnblogs.com/huyang011/p/8127225.html

发布了0 篇原创文章 · 获赞 0 · 访问量 591
展开阅读全文
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符

在android中同时调用多个麦克风报错:android.media.MediaRecorder.start(Native Method)

05-15

1.问题描述:<br>在android中同时调用多个麦克风报错: <br>报错位置mr2.strat():第二个麦克风启动操作时报错。<br> 报错内容:<br> **android.media.MediaRecorder.start(Native Method)**<br> 代码如下: ![图片说明](https://img-ask.csdn.net/upload/201905/15/1557913924_439814.png) <br> <br> <br> ![图片说明](https://img-ask.csdn.net/upload/201905/15/1557914045_94388.png) 录音权限和存储权限已授予。 <br> <br> ``` private void startRecord(){ if(mr == null){ File dir = new File(Environment.getExternalStorageDirectory(),"sounds"); if(!dir.exists()){ dir.mkdirs(); } String filename = string1.getText().toString(); SimpleDateFormat df = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss");//设置日期格式 File soundFile = new File(dir,filename+df.format(new Date())+"_MIC"+".amr"); File soundFile2 = new File(dir,filename+df.format(new Date())+"_VOICE_COMMUNICATION"+".amr"); if(!soundFile.exists()){ try { soundFile.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } if(!soundFile2.exists()){ try { soundFile2.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } mr = new MediaRecorder(); mr.setAudioSource(MediaRecorder.AudioSource.DEFAULT); mr.setOutputFormat(MediaRecorder.OutputFormat.AMR_WB); //设置输出格式 mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB); //设置编码格式 mr.setOutputFile(soundFile.getAbsolutePath()); mr2 = new MediaRecorder(); mr2.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION); //音频输入源 mr2.setOutputFormat(MediaRecorder.OutputFormat.AMR_WB); mr2.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB); mr2.setOutputFile(soundFile2.getAbsolutePath()); try { mr.prepare(); mr.start();// mr2.prepare(); mr2.start();//**在这个位置报错** } catch (IOException e) { e.printStackTrace(); } } } //停止录制,资源释放 private void stopRecord(){ if(mr != null){ mr.stop(); mr2.stop(); mr.release(); mr2.release(); mr = null; mr2 = null; } } ``` 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览