// 录音
<span style="white-space:pre"> </span>private static int frequency = 16000;
<span style="white-space:pre"> </span>private static int channelConfiguration = AudioFormat.CHANNEL_IN_MONO;// 单声道
<span style="white-space:pre"> </span>private static int EncodingBitRate = AudioFormat.ENCODING_PCM_16BIT; // 音频数据格式:脉冲编码调制(PCM)每个样品16位
public synchronized void startRecording() {
isRecoder = true;
mFileName = Environment.getExternalStorageDirectory().getAbsolutePath();
if (mAudioManager == null) {
mAudioManager = (AudioManager) this.context
.getSystemService(Context.AUDIO_SERVICE);
}
if (audioRecord != null) {
stopAudioRecord();
}
// // 获得文件保存路径。记得添加android.permission.WRITE_EXTERNAL_STORAGE权限
mFileName += "/" + java.lang.System.currentTimeMillis() + ".wav";
recBufSize = AudioRecord.getMinBufferSize(frequency,
channelConfiguration, EncodingBitRate);
audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, frequency,
channelConfiguration, EncodingBitRate, recBufSize);
if (Utils.isBlueToothHeadsetConnected()) {
if (!mAudioManager.isBluetoothScoAvailableOffCall()) {
Toast.makeText(context, "当前手机不支持蓝牙录音", 0).show();
Log.e("Kavenir", "当前手机不支持蓝牙录音");
return;
} else {
if (mAudioManager.isBluetoothScoOn()) {
mAudioManager.setBluetoothScoOn(false);
mAudioManager.stopBluetoothSco();
Log.e("mRecorder", "关闭sco通道");
}
// 注册sco通道广播接收
RegisterScoBlueToothBroadcast();
// 启动SCO连接
mAudioManager.startBluetoothSco();
}
} else {
// audioRecord.startRecording();
startAudioRecord()