Я работаю с аудиозаписью в Android.
Я хочу записать аудио максимум 1 минуту, и если пользователь попросит остановить до одной минуты, он должен быть остановлен.
У меня есть запись аудио кода, и он работает отлично.
Как я могу установить продолжительность времени это?
Если решение - thread.sleep
тогда все в порядке. Я делаю что-то вроде того же:
if (start) {
startRecording();
try {
Thread.sleep(60000);
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
//What should do ? to stop thread this Thread.sleep(60000);
callToStopRecording();
}
private void startRecording() {
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setOutputFile(path + mFileName);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try {
mRecorder.prepare();
} catch (IOException e) {
Log.e("Camera Error", "prepare() failed");
}
mRecorder.start();
}
private void stopRecording() {
mRecorder.stop();
mRecorder.release();
mRecorder = null;
}
но при остановке кнопки перекодирования что мне нужно написать?
Вы можете использовать это решение:
mRecorder.setMaxDuration(max_duration_ms);
Дуация в мс, поэтому вы должны использовать:
mRecorder.setMaxDuration(6000);