Пробовал использовать этот код, но ничего не заработало. Может есть еще способы, как проверить играет ли музыка?
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(potok[posit]);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.prepareAsync();
mediaPlayer.start();
progressBar.setVisibility(ProgressBar.VISIBLE);
if(mediaPlayer.isPlaying()){
progressBar.setVisibility(ProgressBar.INVISIBLE);
}else{
progressBar.setVisibility(ProgressBar.VISIBLE);
}
Вам вот этот код надо вызвать в коллбеке лиснера onPreparedListener
Ответ, почему так - вы асинхронно готовите плеер к проигрыванию, и весь код ниже вызывается синхронно, т.е. раньше, чем отработает коллбек
@Override
void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.start();
progressBar.setVisibility(ProgressBar.VISIBLE);
if(mediaPlayer.isPlaying()){
progressBar.setVisibility(ProgressBar.INVISIBLE);
}else{
progressBar.setVisibility(ProgressBar.VISIBLE);
}
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей