Как я могу получить среднюю длительность плеера и остановить хронометр?
Я делаю андроид простой медиа-плеер для воспроизведения аудио-файлов и столкнулся с проблемой с ним.
Я хочу остановить хронометр и медиаплеер
Когда текущая продолжительность воспроизведения файла == общая продолжительность файла..?
Вот мой демонстрационный код.
private void playAudio() {
mediaPlayer = new MediaPlayer();
try {
mediaPlayer.setDataSource(outputFile);
} catch (IOException e) {
e.printStackTrace();
}
try {
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mChronometer.setBase(SystemClock.elapsedRealtime());
mChronometer.start();
mediaPlayer.start();
long totalDuration = mediaPlayer.getDuration();
Log.i("MediaPlayer", String.valueOf(totalDuration));
}
вот еще один код, добавленный из ответа. я добавляю listrner mediaPlayer.setOnCompletionListener (CompletionListener);
MediaPlayer.OnCompletionListener CompletionListener = new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
long totalDuration = mp.getDuration();
}
};
1 ответ
Решение
Использование onCompletionListener
проверить, когда медиа-проигрыватель достиг конца медиа-файла.
mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
// do your task
}
});
Для дальнейшей ссылки смотрите эту ссылку