我在android上工作。如何通过麦克风录制音频文件,以及如何将录制的文件保存到模拟器中?
发布于 2011-04-18 14:58:41
在Android中录制音频很容易。您需要做的是:
1)创建媒体记录类的对象:MediaRecorder recorder = new MediaRecorder();
2)在模拟器中,您无法将记录的数据存储在内存中,因此您必须将其存储在SD卡中。因此,首先检查SD卡的可用性:然后使用以下代码开始录制。
String status = Environment.getExternalStorageState();
if(status.equals("mounted")){
String path = your path;
}
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path);
recorder.prepare();
recorder.start();
3)要停止,重写活动的停止方法
recorder.stop();
recorder.release();
发布于 2011-04-18 06:23:53
基本上,没有简单的方法来写音频文件作为简单的WAV文件。AudioRecorder
生成原始线性PCM格式的数据。而Android的API只给你提供音频数据缓冲。
你需要自己创建WAV文件。这对你来说意味着,你需要自己添加所有的块: RIFF头,FMT和数据块。
发布于 2012-09-11 13:54:18
我曾尝试在android中录制WAV文件。但不知何故,它只记录了。WAV文件只在立体声和你应该使用录音机与以下参数
recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,
RECORDER_SAMPLERATE, AudioFormat.CHANNEL_IN_MONO,RECORDER_AUDIO_ENCODING, bufferSize);
recorder.startRecording();
在记录器中,您需要将所有数据写入到一个文件中,还需要给出头信息
那就这么做吧
recorder.stopRecording();
但我只有一个问题,即使我给AudioFormat.CHANNEL_IN_MONO..it仍然记录在立体声格式。希望我的回答能对你有所帮助。
https://stackoverflow.com/questions/5696168
复制相似问题