하루에 0.01%라도 성장하자

Develop/Android

WebView에서 노출되는 Player Default Poster 없애기!

뚠님 2019. 9. 19. 10:52
반응형

안드로이드에서 웹뷰를 통해 웹사이트에 있는 플레이어를 제어 혹은 보여준다고 하면

 

로딩할때 디폴트 포스터가 노출된다

 

Player Default Poster는 아래 이미지를 말한다.

 

html video tag default poster in android app

정상적으로 로딩하더라도 버퍼를 받아오는 동안에는 해당 포스터를 나온다. 

 

이 포스터를 없애는 방법은 아래와 같다.

 

java, Kotlin 두개의 방법으로 소스코드를 공유한다.

 

해결법

 

* Kotlin

/* Kotlin */

webView.webChromeClient = WebChromeClientCustomPoster()
// 아래 만든 클래스를 webChromeClient로 등록하기

class WebChromeClientCustomPoster : WebChromeClient(){
    override fun getDefaultVideoPoster() : Bitmap? {
        retrun Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888)
    }
}

 

* Android

private WebView webView; // 웹뷰 만들어 주기

webView = findViewById(R.id.web_view); // 레이아웃에 만들어

webView.setWebChromeClient(new WebChromeClientCustomPoster()); // 만든 클래스로 WebChromeClient 설정하기


private class WebChromeClientCustomPoster extends WebChromeClient{
    @Override
    public Bitmap getDefaultVideoPoster(){
        return Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888);
    }
}

 

위 코드를 적용하면 더이상 DefaultPoster가 노출되지 않는다.

 

반응형