React Native: собственный компонент пользовательского интерфейса Android с JWPlayer не показывает видеоизображение

Я написал собственный компонент пользовательского интерфейса для Android, который в основном состоит из пользовательского представления (RelativeLayout), которое, в свою очередь, содержит JWPlayer. Компонент, как и сам проигрыватель, правильно отображаются в моем проекте RN (размеры, цвета и т. д. имеют правильные значения), но когда я запускаю воспроизведение, я получаю звук без изображения.

Однако, когда я поворачиваю телефон, я также получаю видеоизображение, и все работает нормально. Я пробовал такие вещи, как invalidate() и requestLayout() в своем проекте Android, но ничего не изменилось. Я также попытался снова вызвать render() в компоненте RN (путем обновления его состояния), который содержит собственный компонент, и все еще безуспешно. Я создал собственный проект Android с Activity, который содержит точно такой же пользовательский RelativeLayout, который я написал, и все работает нормально. Так что проблема, похоже, на стороне проекта React Native.

Поскольку после поворота телефона все работает нормально, должен быть какой-то метод жизненного цикла, который повторно отображает/перестраивает компонент RN.

Итак, мой вопрос: существует ли такой метод?

Большое спасибо заранее.

PS. JWPlayer основан на ExoPlayer.


person Georgios    schedule 30.09.2016    source источник


Ответы (1)


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

person Georgios    schedule 03.10.2016