В моем приложении, когда пользователь нажимает кнопку, MediaRecorder начинает запись звука, затем продолжает запись на 50 секунд и останавливается автоматически. Я запускаю рекордер из потока пользовательского интерфейса, но как ждать 50 секунд без замораживания UI.Here мой код:Android ждет в потоке пользовательского интерфейса без его замораживания
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
recorder.setOutputFile(path);
recorder.prepare();
recorder.start();
Thread.sleep(40000);
recorder.stop();
recorder.reset();
recorder.release();
Я не знаю много о threads.Please помочь
используйте обработчик или задание таймера. http://stackoverflow.com/questions/16829374/thread-in-android-unfortunately-threadapp-has-stopped/16829414#16829414. Не используйте thread.sleep() проверьте ссылку @ http://developer.android.com/training/articles/perf-anr.html – Raghunandan
Основной момент в том, что вы не ждете в нитке ui. Скорее, вы настроили что-то, чтобы поток ui снова вызывался с другим событием в нужном месте в будущем, чтобы вы могли быстро вернуться из текущего вызова события. –