2016-09-30 1 views
1

Ich habe eine native UI-Komponente für Android geschrieben, die im Grunde aus einer benutzerdefinierten Ansicht (RelativeLayout) besteht, die wiederum JWPlayer enthält. Sowohl die Komponente als auch der Player selbst werden in meinem RN-Projekt richtig wiedergegeben (Abmessungen, Farben usw. haben die korrekten Werte), aber wenn ich mit der Wiedergabe beginne, erhalte ich Ton ohne Bild.React Native: Native Android UI-Komponente mit JWPlayer zeigt kein Videobild

Allerdings, wenn ich das Telefon drehen, bekomme ich auch ein Videobild und alles scheint gut zu funktionieren. Ich habe Dinge wie invalidate() und requestLayout() in meinem Android-Projekt versucht, aber nichts geändert. Ich versuchte auch, render() wieder in der RN-Komponente (durch das Aktualisieren seines Status) aufzurufen, die die native Komponente enthält und immer noch kein Glück. Ich habe ein natives Android-Projekt mit einer Aktivität erstellt, die genau das selbe benutzerdefinierte RelativeLayout enthält, das ich geschrieben habe, und alles funktioniert gut. Das Problem scheint also auf der Seite des React Native-Projekts zu liegen.

Da nach dem Drehen des Telefons alles funktioniert, muss eine Lifecycle-Methode vorhanden sein, die die RN-Komponente neu rendert/neu gestaltet.

Also meine Frage ist: Gibt es so eine Methode?

Vielen Dank im Voraus.

PS. JWPlayer basiert auf ExoPlayer.

Antwort

3

Ich fand, dass das eigentliche Problem nicht die Wiedergabe ist, sondern wie meine benutzerdefinierte Ansicht gerendert wird. Ich füge die Antwort hier für den Fall hinzu, dass jemand auf das gleiche Problem stößt, aber die eigentliche Quelle des Problems nicht finden kann. This Lösung löste mein Problem.

Verwandte Themen