我试图在每次声音完成时更改图像视图,所以我使用了 runOnUIThread 但图像只是在循环时向我显示最后一个图像,而我将更改图像完成并在代码下方。
public class PrincipalActivity extends ClassePai {
MediaPlayer avemarias,misterios;
ImageView imagem ;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_principal);
    avemarias = MediaPlayer.create(this, R.raw.teste);
    imagem = (ImageView) findViewById(id.imageViewGoz);
    while(contador<3){
        mudaImagem(imagem,avemarias,misterios);
    }
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_principal, menu);
    return true;
}
}
public class ClassePai extends Activity {
protected static int contador = 0;
protected void mudaImagem(final ImageView imagem,
        final MediaPlayer avemaria, final MediaPlayer misterios) {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
                if(contador >= 0){
                    avemaria.start();
                }else if (contador == 11){
                    misterios.start();
                }else if (contador == 21){
                    misterios.start();
                }
                if (avemaria.isPlaying()||misterios.isPlaying()) {
                    imagem.setImageResource(com.willamydotcom.osantoterco.R.drawable.goz_quar+contador);
                while (avemaria.isPlaying()) {
                }
                    contador++;
                }
        }
    });
}
}