Как я могу получить среднюю длительность плеера и остановить хронометр?

Я делаю андроид простой медиа-плеер для воспроизведения аудио-файлов и столкнулся с проблемой с ним.

Я хочу остановить хронометр и медиаплеер

Когда текущая продолжительность воспроизведения файла == общая продолжительность файла..?

Вот мой демонстрационный код.

   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
    }
});

Для дальнейшей ссылки смотрите эту ссылку

Медиа-плейер

Другие вопросы по тегам