Youtube_player_flutter: Discusión: ¿por qué el "videoId" está dentro del controlador?

Creado en 4 nov. 2019  ·  4Comentarios  ·  Fuente: sarbagyastha/youtube_player_flutter

Hola @sarbagyastha . Ayer intenté usar la versión 6.0, pero vi que le pasaste el "videoId" al controlador, lo que creo que no es una buena experiencia, especialmente en mi situación, y creo que la mayoría de la gente diría eso también. en mi escenario, mis "videoId" están dentro del índice de mi lista, ya que estoy usando listview.builder y obteniendo los datos de una API. por lo que es casi imposible mapear los "videoId" fuera de la vista de lista en el controlador. Estoy seguro de que hiciste este cambio para mejorar, pero creo que es mejor tener el "videoId" dentro del "youtubeplayer".
Gracias por esta gran biblioteca de nuevo.

question

Todos 4 comentarios

@Xoshbin Movió videoId al controlador para mantener la consistencia (ya que agregaré soporte para flutter web pronto) y para que coincida con el comportamiento de YouTube IFrame Player API.

En cuanto a su problema con las listas de videos, la solución está aquí .

@sarbagyastha Sé que también verifiqué eso. pero en mi situación, las identificaciones de video están dentro del índice "listview.builder", por lo que es casi imposible asignarlo al controlador, especialmente cuando el controlador está fuera de la vista de lista. No estoy seguro si entiendes lo que digo.

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),
      ),
    );

Puede hacer esto, si no está usando el controlador en otro lugar.

@sarbagyastha Gracias, funcionó de esa manera :)

¿Fue útil esta página
0 / 5 - 0 calificaciones