小弟最近在做一个项目就是使用蓝牙mic录音,其他声音输出由蓝牙模块A2DP输出。
硬件:蓝牙2.1 支持RFcomm,A2DP 国内的很多帖子都转来转去的按照如下方式使用蓝牙mic录音: private void startRecording() { //获得文件保存路径。记得添加android.permission.WRITE_EXTERNAL_STORAGE权限 mFileName = Environment.getExternalStorageDirectory().getAbsolutePath(); mFileName += ”/btrecorder.3gp”; mRecorder = new MediaRecorder(); mRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT); mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); mRecorder.setOutputFile(mFileName); mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); try { mRecorder.prepare();//如果文件打开失败,此步将会出错。 } catch (IOException e) { Log.e(LOG_TAG, ”prepare() failed”); }
if(!mAudioManager.isBluetoothScoAvailableOffCall()){ if (AudioManager.SCO_AUDIO_STATE_CONNECTED == state) { 三、停止录音 但是此种方法又有多少手机行得通? 我的想法很简单就是在蓝牙耳机连接上时录音可以从蓝牙耳机mic录入,其他业务需要音频输出时,音频依旧可以从蓝牙出。 有大牛可以支持下吗? 楼主 – zhishui_Jolen:
3个回复
回复
1楼 – ultrapro:通过蓝牙sco方式录音有的手机可以,有手机不行。
回复
2楼 – ultrapro:而且当你打开sco,手机播的音频应该是通过sco通道并不是a2dp经耳机播出的,并不会走手机的。当然了这个还要看厂商如何实现了。
回复
3楼 – zhishui_Jolen:那蓝牙mic除了sco方式还有哪些采集录音方法呢?
|
Android关于蓝牙mic和speaker的输入输出
转自 http://www.w3c.com.cn/android%E5%85%B3%E4%BA%8E%E8%93%9D%E7%89%99mic%E5%92%8Cspeaker%E7%9A%84%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA