Pessoal,
Fiz algo aqui que, na minha limitada concepção, deveria funcionar.
Fiz um player, chamado mediaPlayer, que toca um vídeo. Funcionou legal.
Agora, quero monitorar o status desse mediaPlayer, e aparecer uma mensagem quando o vídeo acaba.
No start, fiz isso:
playerInt pI = new playerInt();
pI.setPlayer(mediaPlayer);
Thread trd = new Thread(pI);
trd.start()
Simples, coloquei o objeto pI dentro de uma nova Thread, que disparei em seguida.
A classe playerInt também é simples:
public class playerInt implements Runnable
{
MediaPlayer mediaPlayer;
public void setPlayer (MediaPlayer player)
{
mediaPlayer = player;
}
public void run()
{
while(true)
{
MediaPlayer.Status stat = mediaPlayer.getStatus();
if(stat == MediaPlayer.Status.STOPPED)
System.out.println("Stop from thread");
else
System.out.println("RUN thread!");
};
}
}
O que aconteceu foi o seguinte, o status PLAYING e UNKNOWN apareceram legal, mas o STOPPED não funcionou, mesmo depois do vídeo encerrado.
Porque isso aconteceu?
Abraços mestres!
Ney