在使用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
@OverrIDeprotected 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闪屏全部内容,希望文章能够帮你解决Android videoView闪屏所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)