【发布时间】:2017-04-26 06:45:07
【问题描述】:
我正在添加一个带有 VideoView 和 MediaController 的基本视频播放器。
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>
【问题讨论】:
标签: android android-videoview seekbar mediacontroller