有办法制作自定义VideoView进度条而无需从头开始构建MediaPlayer。以下是一些建议:
MediaController
控件:MediaController
是Android系统提供的一个控件,可以用来显示视频的进度条、播放/暂停按钮等。你可以在布局文件中添加MediaController
控件,并将其与VideoView
关联。
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="match_parent" /><MediaController
android:id="@+id/mediaController"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
然后在代码中将MediaController
与VideoView
关联:
VideoView videoView = findViewById(R.id.videoView);
MediaController mediaController = findViewById(R.id.mediaController);
videoView.setMediaController(mediaController);
videoView.setVideoPath("your_video_path");
videoView.start();
如果你想要自定义进度条的样式,可以创建一个新的布局文件,然后在代码中将其设置为MediaController
的子视图。例如,你可以创建一个名为custom_media_controller.xml
的布局文件,并在其中添加一个SeekBar
控件:
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<SeekBar
android:id="@+id/seekBar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<!-- 添加其他控件,如播放/暂停按钮等 -->
</LinearLayout>
然后在代码中将这个布局文件设置为MediaController
的子视图:
MediaController mediaController = new MediaController(this);
View customMediaController = LayoutInflater.from(this).inflate(R.layout.custom_media_controller, null);
mediaController.addView(customMediaController);
VideoView videoView = findViewById(R.id.videoView);
videoView.setMediaController(mediaController);
videoView.setVideoPath("your_video_path");
videoView.start();
这样,你就可以自定义进度条的样式,而无需从头开始构建MediaPlayer
。
领取专属 10元无门槛券
手把手带您无忧上云