我如何获得媒体播放器持续时间并停止计时?

How I can get medial player Duration and stop Chronometer?

我正在制作一个 android 简单的媒体播放器来播放音频文件并遇到问题。

我想停止 Chronometer 和媒体播放器

当当前播放文件时长==文件总时长..?

这是我的演示代码。

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

这是从 answer 添加的另一个代码。 我添加了listrner mediaPlayer.setOnCompletionListener(CompletionListener);

 MediaPlayer.OnCompletionListener CompletionListener = new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {

            long totalDuration = mp.getDuration();


        }
    };

使用 onCompletionListener 检查媒体播放器何时到达媒体文件的末尾。

    mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
    public void onCompletion(MediaPlayer mp) {
         // do your task
    }
});

如需进一步参考,请参阅此 link

Media Player