Youtube_player_flutter: ディスカッション:「videoId」がコントローラー内にあるのはなぜですか?

作成日 2019年11月04日  ·  4コメント  ·  ソース: sarbagyastha/youtube_player_flutter

こんにちは@sarbagyastha 。 昨日、バージョン6.0を使用しようとしましたが、「videoId」をコントローラーに渡したことがわかりました。これは、特に私の状​​況では、多くの人がそう言うと思うので、良い経験ではないと思います。 私のシナリオでは、listview.builderを使用してAPIからデータを取得しているため、「videoId」はリストインデックス内にあります。 したがって、リストビューの外側にある「videoId」をコントローラーにマップすることはほとんど不可能です。 改善のためにこの変更を加えたと思いますが、「youtubeplayer」内に「videoId」を含める方が良いと思います。
この素晴らしいライブラリをもう一度ありがとう。

question

全てのコメント4件

@Xoshbin一貫性を維持し(フラッターウェブのサポートをすぐに追加するため)、YouTube IFrame Player APIの動作と一致させるために、 videoIdをコントローラーに移動しました。

ビデオリストに関する問題に従って、解決策はここにあります

@sarbagyastha私もそれをチェックしたことを知っています。 しかし、私の状況では、ビデオIDは「listview.builder」インデックス内にあるため、特にコントローラーがリストビューの外にある場合は、それをコントローラーにマップすることはほとんど不可能です。 私の言うことをあなたが理解しているかどうかはわかりません。

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

他の場所でコントローラーを使用していない場合は、このようにすることができます。

@sarbagyasthaありがとうございますそれはそのように機能しました:)

このページは役に立ちましたか?
0 / 5 - 0 評価