Android videoView闪屏
2021/5/6 11:01:12
本文主要是介绍Android videoView闪屏,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、Bug描述
在使用VideoView播放视频的时候总会有一个短暂的闪屏要么空白要么黑屏。
二、解决方案
出现黑屏或者白屏主要是在视频渲染之前的这段时间surface还在做准备工作,显示的只是背景,所以我们设置一个背景,比如视频的第一帧。
三、代码实现
给videoView设置一个自己想要的背景
<CustomVideoView android:id="@+id/video_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@color/color_white" />
因为VideoView默认宽高设置match_parent无效果,所以重写一下VideoView的onMeasure
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); setMeasuredDimension(View.MeasureSpec.getSize(widthMeasureSpec), View.MeasureSpec.getSize(heightMeasureSpec)); }
在VideoView准备播放的时候可以在再设置背景透明
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mp.setOnInfoListener(new MediaPlayer.OnInfoListener() { @Override public boolean onInfo(MediaPlayer mp, int what, int extra) { if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START) { // video 视屏播放的时候把背景设置为透明 videoView.setBackgroundColor(Color.TRANSPARENT); return true; } return false; } }); } });
这篇关于Android videoView闪屏的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-18android.permission.read_media_video
- 2024-01-18android_getaddrinfo failed eai_nodata
- 2024-01-18androidmo
- 2024-01-15Android下三种离屏渲染技术
- 2024-01-09Android 蓝牙使用
- 2024-01-06Android对接华为AI - 文本识别
- 2023-11-15代码安全之代码混淆及加固(Android)
- 2023-11-10简述Android语音播报TTS
- 2023-11-06Android WiFi工具类
- 2023-07-22Android开发未来的出路