我有一个录音机类来录制声音:
public class MeeRecorder {
private static String mpathName = null;
private MediaRecorder mRecorder = null;
private String pName = "";
private String fileName = "";
public static final String TEST_PATH = "/test/";
public MeeRecorder() {
}
public void onRecord(boolean start) {
if (start) {
startRecording();
} else {
stopRecording();
}
}
private void startRecording() {
mRecorder = new MediaRecorder();
createPath();
mpathName = Environment.getExternalStorageDirectory().getAbsolutePath();
mpathName += TEST_PATH+"/"+getFileName()+VoiceRecorder.FILE_EXT;
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setOutputFile(mpathName);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try {
mRecorder.prepare();
} catch (IOException e) {
Log.e("DEBUG", "prepare() failed");
}
mRecorder.start();
}
private void createPath(){
File recordersDirectory = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+TEST_PATH);
recordersDirectory.mkdirs();
}
public void stopRecording() {
if(mRecorder!=null){
mRecorder.stop();
mRecorder.release();
mRecorder = null;
}
}
public String getmPathName() {
return mpathName;
}
public void setmPathName(String mPathName) {
MeasureRecorder.mpathName = mPathName;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
}
我在我的活动和活动记录语音中创建了这个类的对象。现在我遇到了一个问题,因为当我改变方向时,我的录制停止了。我不能使用 configChanges 方向,因为我在方向改变时改变了布局。如何以更改方向保存记录?