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