如何获取媒体播放器持续时间并停止 Chronometer?
Posted
技术标签:
【中文标题】如何获取媒体播放器持续时间并停止 Chronometer?【英文标题】:How I can get medial player Duration and stop Chronometer? 【发布时间】:2016-09-13 12:58:30 【问题描述】:我正在制作一个 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();
;
【问题讨论】:
【参考方案1】:使用onCompletionListener
检查媒体播放器何时到达媒体文件的末尾。
mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener()
public void onCompletion(MediaPlayer mp)
// do your task
);
更多参考请看此链接
Media Player
【讨论】:
你能解释更多...吗?根据我的示例,我可以在 onCompletion 上做什么...? 好吧completionListener
方法将被称为当前播放文件的持续时间==文件的总持续时间。因此,在这种方法中,您可以编写您想要在该条件下执行的代码
我不明白你的意思,兄弟,如果可以的话,我会更新我的代码,写一些代码示例
是的,对不起,我明白了
您不需要在 onCompletion 方法中获取持续时间。你只需要把你的计时器停在里面以上是关于如何获取媒体播放器持续时间并停止 Chronometer?的主要内容,如果未能解决你的问题,请参考以下文章