2017-04-26 100 views
0

我正在使用VideoView和MediaController添加基本视频播放器。MediaController的默认SeekBar不同步

由MediaController提供的SeekBar在0:02分钟时停止播放视频直到结束。 我已经尝试过3种不同视频长度的设备。

如何确保SeekBar的进度和时间与视频同步?

下面是相关代码:

VideoPlayerDialog.java

videoView.setVisibility(View.VISIBLE); 
MediaController mediaController = new MediaController(getContext()); 

FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT); 
lp.gravity = Gravity.BOTTOM; 
mediaController.setLayoutParams(lp); 

((ViewGroup) mediaController.getParent()).removeView(mediaController); 
((FrameLayout) findViewById(R.id.videoViewWrapper)).addView(mediaController); 

videoView.setMediaController(mediaController); 
videoView.setVideoURI(imageUri); 
videoView.requestFocus(); 

dialog_image_preview.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/black87"> 

    <uk.co.senab.photoview.PhotoView 
     android:id="@+id/photo_view" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_centerInParent="true" /> 

    <FrameLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/videoViewWrapper" 
     android:layout_centerInParent="true" 
     android:layout_margin="30dp"> 

     <VideoView 
      android:id="@+id/videoplayer" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 
    </FrameLayout> 

    <ImageButton 
     android:id="@+id/close" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:background="@drawable/circular_button_material" 
     android:elevation="10dp" 
     android:padding="5dp" 
     android:src="@drawable/ic_close" /> 
</RelativeLayout> 

回答

0

你可以尝试自动连接媒体控制器到视频查看与

MediaController mediaController = new MediaController(this); mediaController.setAnchorView(videoView); videoView.setMediaController(mediaController);

+0

谢谢,但那不行。它只是隐藏了videoview下方的播放控件,但没有更改seekbar更新。 –

相关问题