Ich versuche, einen einfachen Audio-Recorder zu machen. Das Problem mit dem Audiorekorder ist, dass jedes Mal, wenn der Fortschrittsbalken schneller wird. Es würde in der ersten Runde gut laufen, aber wenn Sie den Ton abbrechen und das zweite Mal gehen wollen, wird es schneller.Porgress Bar läuft schneller auf jedem onClick
recordButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (recorder == null) {
recorder = new MediaRecorder();
}
stopped=false;
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile("/sdcard/sample.3gp");
recorder.setMaxDuration(MAX_DURATION);
//Progressbar
pb.setMax(MAX_DURATION);
pb.setProgressTintList(ColorStateList.valueOf(Color.WHITE));
new CountDownTimer(MAX_DURATION, 250) {
public void onTick(long millisUntilFinished) {
pb.setProgress(pb.getProgress() + 250);
}
public void onFinish() {
}
}.start();
All dies wird in einem Dialog geschieht, so wie kann ich den Inhalt des Dialogs löschen, so dass die Fortschrittsbalken auf den Standardwert zurückgehen.
Sieht aus wie Sie 250 an den Fortschritt jedes Mal hinzufügen. Möglicherweise müssen Sie den Fortschritt speichern, wenn Sie den Ton abbrechen, und ihn beim nächsten Start an die Stelle setzen, an der er unterbrochen wurde. –