我如何获得媒体播放器持续时间并停止计时?
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
我正在制作一个 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