React Native: нативный компонент пользовательского интерфейса Android с JWPlayer не показывает видеоизображение
Я написал собственный компонент пользовательского интерфейса для Android, который в основном состоит из пользовательского представления (RelativeLayout), которое, в свою очередь, содержит JWPlayer. Как компонент, так и сам проигрыватель правильно отображаются в моем проекте RN (размеры, цвета и т. Д. Имеют правильные значения), но когда я начинаю воспроизведение, я получаю звук без какого-либо изображения.
Однако, когда я поворачиваю телефон, я получаю видео изображение, и все, кажется, работает нормально. Я пробовал такие вещи, как invalidate()
а также requestLayout()
в моем проекте Android, но ничего не изменилось. Я тоже пробовал звонить render()
снова в компоненте RN (путем обновления его состояния), который содержит собственный компонент и все еще не повезло. Я создал собственный проект Android с Activity, который содержит точно такой же пользовательский RelativeLayout, который я написал, и все работает отлично. Таким образом, проблема, кажется, на стороне проекта React Native.
Поскольку после поворота телефона все работает нормально, должен быть какой-то метод жизненного цикла, который перерисовывает / переставляет компонент RN.
Итак, мой вопрос: есть ли такой метод?
Большое спасибо заранее.
PS. JWPlayer основан на ExoPlayer.
1 ответ
Я обнаружил, что проблема не в воспроизведении, а в том, как отображается мой пользовательский вид. Я добавляю ответ здесь, если кто-то сталкивается с той же проблемой, но не может найти ее источник. Это решение решило мою проблему.