2015-02-05 4 views
2

Принятый ответ, чтобы избежать черного мерцания на VideoView, состоит в том, чтобы сделать что-то вроде следующего. Это отлично работает, на самом деле оно плавное, и я могу сбросить видео, изменить файл и все без мерцания.Рисование над видеоизображением после вызова setZOrderOnTop (true)

Теперь ... Как я могу нарисовать вид сверху VideoView?

mVideoView.setZOrderMediaOverlay(true); 
mVideoView.setZOrderOnTop(true); 

Порядок представления на макете не имеет никакого значения, поскольку мы называем эти методы. Я хотел бы показать вам, ребята, скриншот того, что происходит, но просто рисует видео по другим представлениям.

+0

Z-порядок по умолчанию и «Z-порядок наложения на носитель» находятся ниже слоя «Вид». Верхний Z-порядок выше. Единственная причина, по которой это повлияет на то, как выглядело видео, - это то, что что-то рисовало непрозрачные пиксели на уровне представления и затеняло поверхность видео. – fadden

+0

Это был единственный способ избавиться от черной вспышки между видео-петлями или до первого воспроизведения. –

ответ

2

Hate ответить на мои собственные вопросы, но здесь идет:

Наименее болезненный способ сделать это на самом деле, чтобы избежать использования VideoView и в результате к использованию TextureView и воспроизведение видео в его поверхности. Таким образом, он не обязательно пытается быть на вершине всего, но все же позволяет нам рисовать вещи над ним.

+0

Можно добиться того же результата, но с лучшей производительностью, используя 'SurfaceView' внутри' FragmentLayout'. – Eido95

Смежные вопросы