Tengo un SeekBar
, muestra correctamente el progreso MediaPlayer
. Sin embargo, tengo problemas con la búsqueda: si busco el cuadro de desplazamiento en algún lugar, simplemente regresa en la posición donde se reproduce el archivo de audio.Android SeekBar para controlar el progreso de MediaPlayer
public class EntityPageActivity extends Activity implements Runnable, OnClickListener, OnSeekBarChangeListener{
private SeekBar seekBar;
private Button startMedia;
private Button pauseMedia;
private MediaPlayer mp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.entity_page);
AudioControl();
}
public void AudioControl(){
seekBar = (SeekBar) findViewById(R.id.seekBar);
startMedia = (Button) findViewById(R.id.play);
pauseMedia = (Button) findViewById(R.id.pause);
startMedia.setOnClickListener(this);
pauseMedia.setOnClickListener(this);
}
public void run() {
int currentPosition= 0;
int total = mp.getDuration();
while (mp!=null && currentPosition<total) {
try {
Thread.sleep(1000);
currentPosition= mp.getCurrentPosition();
} catch (InterruptedException e) {
return;
} catch (Exception e) {
return;
}
seekBar.setProgress(currentPosition);
}
}
public void onClick(View v) {
if (v.equals(startMedia)) {
if (mp != null && mp.isPlaying()) return;
if(seekBar.getProgress() > 0) {
mp.start();
return;
}
mp = MediaPlayer.create(EntityPageActivity.this, R.raw.gl1);
mp.start();
seekBar.setProgress(0);
seekBar.setMax(mp.getDuration());
new Thread(this).start();
}
if (v.equals(pauseMedia) && mp!=null) {
mp.pause();
}
}
public void onStartTrackingTouch(SeekBar seekBar) {
}
public void onStopTrackingTouch(SeekBar seekBar) {
}
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
if(fromUser) mp.seekTo(progress);
}
}
Por lo tanto, onProgressChanged
no es suficiente para permitir SeekBar
para controlar MediaPlayer
?
¿Qué debo agregar/corregir para permitir la búsqueda?
Gracias
ACTUALIZACIÓN
descubrí que onProgressChanged
no es invocado por alguna razón. Sin embargo no puedo entender por qué
@llya Tengo reproductor de medios pero funciona con video y funciona bien, ¿puedo ayudarte? –
Creo que sabes mejor puedes ayudar o no) Si crees que sabes cómo resolver el problema, intenta dar una respuesta –
ver mi respuesta .............. –