我有两个按钮,一个用于开始录音,另一个用于停止录音。
我已经成功地录制了声音并将其存储在SD卡中:
现在我想要的是,如果在15秒之前按下停止按钮,它应该保持原样,但是如果录制时间超过15秒,它应该自动停止录制并将录制的文件存储在SD卡中。
我的录音代码在这里:
我应该怎么做?
public void startRecording(View view) throws IOException {
startButton.setEnabled(false);
stopButton.setEnabled(true);
File sampleDir = Environment.getExternalStorageDirectory();
try {
//audiofile = File.createTempFile("sound", ".aac", sampleDir);
audiofile = File.createTempFile("sound", ".m4a", sampleDir);
} catch (IOException e) {
Log.e(TAG, "sdcard access error");
return;
}
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
recorder.setOutputFile(audiofile.getAbsolutePath());
recorder.prepare();
recorder.start();
}
停止录制的方法是:
**
而停止录制则是:
public void stopRecording(View view) {
startButton.setEnabled(true);
stopButton.setEnabled(false);
recorder.stop();
recorder.release();
}
我应该怎么做?