如何在android中的视频视图中获取视频的总长度

San*_*dey 7 android

我有一个问题,我想获得在视频视图中运行的视频的总长度我使用视频视图的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();
Run Code Online (Sandbox Code Playgroud)

Ale*_*nko 16

要获取视频使用代码的总长度:

videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener()  {
            @Override
            public void onPrepared(MediaPlayer mp) {                         
                long duration = videoView.getDuration();
            }
        });
Run Code Online (Sandbox Code Playgroud)


小智 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();
        }
    });
Run Code Online (Sandbox Code Playgroud)


Hem*_*ria -1

我认为没有直接的方法来实现这一点,但是通过这些函数你可以做到这一点。你应该试试 。

公共 int getBufferPercentage ()

公共 int getDuration ()

http://developer.android.com/reference/android/widget/VideoView.html