2016-02-05 5 views
0

Я использую элемент видео HTML5 для воспроизведения видео в Android WebView. И это отлично работает для меня, но единственная проблема с этим заключается в том, что элемент видео автоматически добавляет кнопку серого воспроизведения. Я пробовал искать API и не мог найти ничего, что помогло бы моему делу. Я также попытался с помощью CSS с помощью следующего стиля:Кнопка Android для просмотра Android WebView

video.mobile_controls::-webkit-media-controls-fullscreen-button 
{ 
    display: inline !important; // Also used "display:none" 
} 

Далее я пытался тыкать в теневом йот, но я не мог найти ничего, связанные с этим.

Итак, вопрос в том, как удалить эту кнопку серого цвета. Вот изображение для справки:

enter image description here

+0

Я думаю [эта ссылка] (http://stackoverflow.com/questions/17346246/videojs-seeing-grey-boxes-in-android-mobile) должна работать на вас. – PHPExpert

+0

@PHPExpert К сожалению, это не ссылка для видеоjs, но это элемент по умолчанию

ответ

2

Вопрос является видео постер. Но есть лучший способ исправить это, простираясь от WebChromeClient и переопределяя getDefaultVideoPoster();

Вот решение:

import android.graphics.Bitmap; 
import android.webkit.WebChromeClient; 

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

А затем с помощью этого клиента вместо того, чтобы, выполнив:

WebChromeClientCustomPoster chromeClient = new WebChromeClientCustomPoster(); 
mWebView.setWebChromeClient(chromeClient); 

После некоторых ухищрений мы обнаружили, что злоупотребляя плакат атрибут устранили эту проблему. Мы разрешили эту проблему, выполнив следующие действия:

videoElement.setAttribute("poster", "nope"); 

Видеоэлемент будет использовать значение «nope» в качестве плаката. И поскольку nope не является допустимым URL, элемент видео не заменяет плакат и не будет показывать плакат.

+0

отлично работает! – Jan