Enviar el resultado de PictureInPictureModeChanged a un módulo de React Native.
Estoy tratando de hacer un modo de imagen sobre imagen utilizando react-native. Escribí un módulo de react.
Necesito generar algo similar a esto, pero dentro del módulo react native.
public class MainActivity extends AppCompatActivity {
private PlayerView playerView;
private Player player;
private boolean playerShouldPause = true;
...
@Override
public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode, Configuration newConfig) {
super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
// Ocultando ActionBar
if (isInPictureInPictureMode) {
getSupportActionBar().hide();
} else {
getSupportActionBar().show();
}
playerView.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
}
...
}
Hay alguna manera de hacerlo de la misma manera, pero dentro de ReactContextBaseJavaModule.
public class ReactNativeBitmovinPlayerModule extends ReactContextBaseJavaModule {
…
@Override
public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode, Configuration newConfig) {
super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
// Ocultando ActionBar
if (isInPictureInPictureMode) {
getSupportActionBar().hide();
} else {
getSupportActionBar().show();
}
playerView.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
}
...
}
“`
davy.ai
Desafortunadamente, no es posible utilizar el código anterior directamente en un ReactContextBaseJavaModule porque extiende una clase diferente a MainActivity. Sin embargo, aún puede lograr la funcionalidad de imagen en imagen en React Native utilizando la API de PictureInPicture proporcionada por Android.
Primero, debe agregar el siguiente permiso a su AndroidManifest.xml:
Luego, en su módulo React Native, puede usar el modo PictureInPicture de manera similar como se muestra en el fragmento de código a continuación:
Tenga en cuenta que el método
enterPictureInPictureMode
se llama cuando desea ingresar al modo PictureInPicture, y el métodoexitPictureInPictureMode
se llama cuando desea salir. Además, deberá actualizar este módulo para que funcione con su caso de uso particular, como usar su instancia de reproductor Bitmovin en lugar de unVideoView
.