0
记录分贝我已经在实施中的Android这个功能... 我只需要输出麦克风redorded分贝了问题,这是我无法理解的事情:安卓:从麦克风
public class Noise extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
MediaRecorder recorder=new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
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(){
risultato.setText(""+recorder.getMaxAmplitude());
}
}
}
在textview中,结果仅在第一次打印,而且为0,然后应用程序崩溃: 11-29 14:43:27.133:E/AndroidRuntime(25785):android.view.ViewRoot $ CalledFromWrongThreadException:只有创建视图层次结构的原始线程可以触及其视图。
我已经搜索了周围,但我找不到一个全面的例子...只有很多东西和类,我不需要的例子。 我可以解决这个问题吗?
谢谢,我通情达理的这件事。 但现在它给了我新的错误:https://dl.dropbox.com/u/16047047/log.txt logcat不是那么全面... – Zak
Noise.java的第29行是什么? – fiddler
您写给我的line risultato – Zak