[英]How to listen to android MediaPlayer position change event
While playing a video nor audio via the Android MediaPlayer
how can one receive every 10 ms (or any specific delay) the current player position, while its playing (and stop receiving while its not playing)通过 Android
MediaPlayer
播放视频或音频时,如何每 10 毫秒(或任何特定延迟)接收当前播放器 position,同时播放(并在不播放时停止接收)
I prefer not to use handler that post delay itself.我宁愿不使用处理程序延迟本身。 It needs to be cancelable.
它需要是可取消的。
You can use a Timer
:您可以使用
Timer
:
//member field
Timer timer;
//somewhere in your code:
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
if(mediaPlayer.isPlaying()){
//get current position of playback because player is playing
int position = mediaPlayer.getCurrentPosition();
Log.d("POSITION" , String.valueOf(position));
}else{
//player is not playing do nothing.......
}
}
},0,1000); //1000 is a long value in milliseconds (in this case it runs every 1 second)
When you want to cancel the timer:当你想取消定时器时:
timer.cancel();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.