<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.RECORD_AUDIO" >
private AudioRecord audioRecord;// 录音对象 private int frequence = 8000;// 采样率 8000 private int channelInConfig = AudioFormat.CHANNEL_CONFIGURATION_MONO;// 定义采样通道 private int audioEncoding = AudioFormat.ENCODING_PCM_16BIT;// 定义音频编码(16位) private byte[] buffer = null;// 录制的缓冲数组
// 根据定义好的几个配置,来获取合适的缓冲大小
// int bufferSize = 800;
int bufferSize = AudioRecord.getMinBufferSize(frequence,
channelInConfig, audioEncoding);
// 实例化AudioRecord
audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,
frequence, channelInConfig, audioEncoding, bufferSize);
// 定义缓冲数组
buffer = new byte[bufferSize];
audioRecord.startRecording();// 开始录制
isRecording = true;// 设置录制标记为true
// 开始录制
while (isRecording) {
// 录制的内容放置到了buffer中,result代表存储长度
int result = audioRecord.read(buffer, 0, buffer.length);
/*.....result为buffer中录制数据的长度(貌似基本上都是640)。
剩下就是处理buffer了,是发送出去还是直接播放,这个随便你。*/
}
//录制循环结束后,记得关闭录制!!
if (audioRecord != null) {
audioRecord.stop();
}
private AudioTrack track = null;// 录音文件播放对象 private int frequence = 8000;// 采样率 8000 private int channelInConfig = AudioFormat.CHANNEL_CONFIGURATION_MONO;// 定义采样通道 private int audioEncoding = AudioFormat.ENCODING_PCM_16BIT;// 定义音频编码(16位) private int bufferSize = -1;// 播放缓冲大小
// 获取缓冲 大小
bufferSize = AudioTrack.getMinBufferSize(frequence, channelInConfig,
audioEncoding);
// 实例AudioTrack
track = new AudioTrack(AudioManager.STREAM_MUSIC, frequence,
channelInConfig, audioEncoding, bufferSize,
AudioTrack.MODE_STREAM);
//将语音数据写入即可。 track.write(dataArray, buffer, len);
// 将数据通过监听接口回调出去
if (audioRecordingCallback != null) {
int offset = result % MAX_DATA_LENGTH > 0 ? 1 : 0;
//将一个buffer拆分成几份小数据包 MAX_DATA_LENGTH 为包的最大byte数
for (int i = 0; i < result / MAX_DATA_LENGTH + offset; i++) {
int length = MAX_DATA_LENGTH;
if ((i + 1) * MAX_DATA_LENGTH > result) {
length = result - i * MAX_DATA_LENGTH;
}
//写到回调接口
audioRecordingCallback.onRecording(buffer, i
* MAX_DATA_LENGTH, length);
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有