Youtube_player_flutter: Discussion : pourquoi le "videoId" est à l'intérieur du contrôleur ?

Créé le 4 nov. 2019  ·  4Commentaires  ·  Source: sarbagyastha/youtube_player_flutter

Salut @sarbagyastha . Hier, j'ai essayé d'utiliser la version 6.0 mais j'ai vu que vous aviez passé le "videoId" au contrôleur, ce qui, je pense, n'est pas une bonne expérience, surtout dans ma situation, ce que je pense que la plupart des gens diraient aussi. dans mon scénario, mes "videoId" sont à l'intérieur de mon index de liste car j'utilise le listview.builder et récupère les données d'une API. il est donc presque impossible de mapper les "videoId" en dehors de la liste dans le contrôleur. Je suis sûr que vous avez apporté cette modification pour des améliorations, mais je pense qu'il est préférable d'avoir le "videoId" à l'intérieur du "youtubeplayer".
Merci encore pour cette superbe bibliothèque.

question

Tous les 4 commentaires

@Xoshbin Déplacé videoId vers le contrôleur afin de maintenir la cohérence (car j'ajouterai bientôt la prise en charge de Flutter Web) et de correspondre au comportement de l'API YouTube IFrame Player.

Selon votre problème avec les listes de vidéos, la solution est ici .

@sarbagyastha Je sais que j'ai vérifié cela aussi. mais dans ma situation, les identifiants vidéo sont à l'intérieur de l'index "listview.builder", il est donc presque impossible de le mapper au contrôleur, en particulier lorsque le contrôleur est en dehors de la liste. Je ne sais pas si vous comprenez ce que je dis.

ListView.separated(
        itemBuilder: (context, index) {
          return YoutubePlayer(
            controller: YoutubePlayerController(initialVideoId: data[index]),
            actionsPadding: EdgeInsets.only(left: 16.0),
            bottomActions: [
              CurrentPosition(),
              SizedBox(width: 10.0),
              ProgressBar(isExpanded: true),
              SizedBox(width: 10.0),
              RemainingDuration(),
              FullScreenButton(),
            ],
          );
        },
        itemCount: data.length,
        separatorBuilder: (context, _) => SizedBox(height: 10.0),
      ),
    );

Vous pouvez faire comme ça, si vous n'utilisez pas de contrôleur ailleurs.

@sarbagyastha Merci, cela a fonctionné de cette façon :)

Cette page vous a été utile?
0 / 5 - 0 notes