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