我不硝酸钾为什么,但在start()方法抛出一个错误和崩溃的应用程序:Android的录音机启动无效状态4
public class Noise extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.noise);
MediaRecorder recorder=new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try{
recorder.prepare();
}catch(IllegalStateException e){
Log.d("Error",e.toString());
e.printStackTrace();
}catch(IOException e){
Log.d("Error",e.toString());
e.printStackTrace();
}
recorder.start();
Timer timer=new Timer();
timer.scheduleAtFixedRate(new RecorderTask(recorder), 0, 500);
}
private class RecorderTask extends TimerTask{
TextView risultato=(TextView) findViewById(R.id.risultato_recorder);
private MediaRecorder recorder;
public RecorderTask(MediaRecorder recorder){
this.recorder = recorder;
}
public void run(){
runOnUiThread(new Runnable() {
@Override
public void run() {
risultato.setText("" + recorder.getMaxAmplitude());
}
});
}
}
}
如果我删除的准备和启动,它工作,但总是返回0在textview中。 任何人都可以帮助我?这件事情让我疯狂
这是logcat的:https://dl.dropbox.com/u/16047047/log.txt
,并在手机,它崩溃。
什么是错误(堆栈跟踪)是由start()方法抛出? – Veger
我已经添加了logcat中的主要问题 – Zak