我需要在声音结束时更改 ImageView,但是当我尝试使用线程使用它来卡住尖叫声时,应用程序将关闭;
mp = MediaPlayer.create(this, R.raw.ave_maria);
mp.start();
im = (ImageView) findViewById(R.id.imag1);
Thread thread = new Thread() {
public void run() {
while (mp.isPlaying()) {
}
im.setImageResource(R.drawable.primeiro_misterio_gozoso07);
}
};
thread.start();
最佳答案
您应该将代码与线程 UI 同步。
mp = MediaPlayer.create(this, R.raw.ave_maria);
mp.start();
im = (ImageView) findViewById(R.id.imag1);
Thread thread = new Thread() {
public void run() {
while (mp.isPlaying()) {
}
//YouActivity
YouActivity.this.runOnUiThread(new Runnable() {
public void run() {
im.setImageResource(R.drawable.primeiro_misterio_gozoso07);
}
});
}
};
thread.start();
关于android - 当声音以线程结束时如何更改 ImageView ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13532479/