Android videoView闪屏

Android videoView闪屏,第1张

概述一、Bug描述在使用VideoView播放视频的时候总会有一个短暂的闪屏要么空白要么黑屏。二、解决方案出现黑屏或者白屏主要是在视频渲染之前的这段时间surface还在做准备工作,显示的只是背景,所以我们设置一个背景,比如视频的第一帧。三、代码实现给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

@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闪屏所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1012558.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存