5
votes

utiliser ExoPlayer dans React Native

Salut, j'utilise react native, donc j'avais besoin d'exoplayer pour afficher le sous-titre dessus dans Android .... J'ai ajouté exoplayer dans mon application, après cela devrais-je faire quelque chose pour utiliser exoplayer par défaut ou il sera lié à react-native- vidéo ? Merci


1 commentaires

Comme je l'imagine après avoir ajouté ExoPlayer, lorsque vous utilisez react-native-video, il devrait utiliser ExoPlayer par défaut, mais comment puis-je être sûr que je fais bien? car mes codes ne fonctionnent pas ...


3 Réponses :


4
votes

Selon la documentation ExoPlayer vidéo native de React , il existe des accessoires ExoPlayer uniquement. Utilisez l'un d'entre eux dans votre application et vérifiez s'ils sont appelés ou non.


0 commentaires

0
votes

À partir de maintenant, ExoPlayer n'est pas automatiquement lié avec react react-native-video . Pour le lier à votre projet et l'utiliser, créez un fichier nommé react-native.config.js à la racine de votre projet. Ajoutez ensuite le code suivant dans le fichier:

module.exports = {
  dependencies: {
    'react-native-video': {
      platforms: {
        android: {
          sourceDir: '../node_modules/react-native-video/android-exoplayer'
        }
      }
    }
  }
}

J'espère que cela fonctionnera.


1 commentaires

Cela ne semble pas fonctionner sur les dernières versions. Il émet une erreur The number of method references in a .dex file cannot exceed 64K. pendant la construction



1
votes

Vous pouvez modifier le chemin du projet comme ceci.

import com.brentvatne.react.ReactVideoPackage;
...


@Override
protected List<ReactPackage> getPackages() {
   List<ReactPackage> packages = new PackageList(this).getPackages();

   packages.add(new ReactVideoPackage()); // <<< This line

   return packages;
}

regardez ici pour plus de détails

Il commencera à utiliser android-exoplayer

J'ai également ajouté

android:usesCleartextTraffic="true"

dans AndroidManifest.xml pour le faire fonctionner également dans les versions de version.

Si cela n'aide pas, veuillez ajouter

apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
// Add below this line ↑
project(':react-native-video').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-video/android-exoplayer')
include ':app'

à MainApplication.java


0 commentaires