我有一个问题,我想获得在视频视图中运行的视频的总长度我使用视频视图的getDuration方法但是当我将它与currentPosition进行比较时它总是返回-1。实际上我想要的是,如果视频的当前位置等于视频的总长度,那么它应该从第0位开始意味着开始。意思是我想说我想比较视频当前位置和视频的总长度,我该怎么做?
提前致谢。
代码:
videoPosition=VideoPositionFinding(IDValue,video.getDuration());
video.seekTo(videoPosition);
if(video.getCurrentPosition()==video.getDuration()){
videoPosition=0;
}
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
System.out.println("The Video Duration: "+video.getCurrentPosition());
video.start();
答案 0 :(得分:16)
获取视频使用代码的总长度:
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
long duration = videoView.getDuration();
}
});
答案 1 :(得分:9)
要获取视频长度,请使用以下代码
myVideoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
int duration=mp.getDuration()/1000;
int hours = duration / 3600;
int minutes = (duration / 60) - (hours * 60);
int seconds = duration - (hours * 3600) - (minutes * 60) ;
String formatted = String.format("%d:%02d:%02d", hours, minutes, seconds);
Toast.makeText(getApplicationContext(), "duration is " + formatted , Toast.LENGTH_LONG).show();
}
});
答案 2 :(得分:0)
您可以使用以下代码:
int duration = MediaPlayer.create(context, Uri.fromFile(new File(video_path))).getDuration();
答案 3 :(得分:-1)
我认为没有直接的方法来实现这一点,但通过这些功能,你可以做到这一点。 你应该试试。
public int getBufferPercentage()
public int getDuration()
http://developer.android.com/reference/android/widget/VideoView.html
答案 4 :(得分:-3)
为什么使用LOCATION_SERVICE获取视频位置? LOCATION_SERVICE用于精确定位设备的位置。请参阅此link。