在我的应用程序中,当用户按下按钮MediaRecorder开始录制音频时,它会继续录制50秒并自动停止。我从UI线程启动录音机,但是如何等待50秒而不会冻结该UI.Here是我的代码:Android在UI线程中等待而不会冻结它
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线程将会在未来期望的位置再次被另一个事件调用,这样你就可以从当前的事件调用中快速返回。 –