1. Android语音录制可以通过 MediaRecorder 和 AudioRecorder:
MediaRecorder本来是多媒体录制控件,可以同时录制视频和语音,当不指定视频源时就只录制语音(默认录制语言);AudioRecorder只能录制语音。
二者录制的区别在于,MediaRecorder固定了语音的编码格式,具体平台支持类型可以在http://developer.android.com/guide/appendix/media-formats.html这里查看,
而且使用时指定输出文件,在录制的同时系统将语音数据写入文件。
AudioRecorder输出的是pcm,即原始音频数据,使用者需要自己读取这些数据,这样的好处是可以根据需要边录制边对音频数据处理,读取的同时也可以保存到文件进行存储。
语音的播放可以使用MediaPlayer和AudioTracker,与上面的对应,MediaPlayer可以播放各种多媒体文件,而AudioTracker只能播放pcm数据,使用者手动将数据连续写入进行播放。
2. MediaRecorder的使用:
3. AudioRecorder录制语音:
1 int suggestBufferSize = AudioRecord.getMinBufferSize(mSampleRate, 2 mChannelConfig, mAudioFormat); 3 mAudioRecord = new AudioRecord(AudioSource.MIC, mSampleRate, 4 mChannelConfig, mAudioFormat, suggestBufferSize); 5 mAudioRecorder.startRecording(); 6 7 byte[] inByteBuf = new byte[BUF_SIZE] 8 while (runFlag) { 9 int readSize = mAudioRecord.read(inByteBuf, 0, 10 inByteBuf.length); 11 } 12 13 mAudioRecorder.stop(); 14 mAudioRecord.release();