Привет @сарбагьястха . Вчера я пытался использовать версию 6.0, но увидел, что вы передали «videoId» контроллеру, что, я думаю, не очень хорошо, особенно в моей ситуации, и я думаю, что большинство людей тоже сказали бы это. в моем сценарии мои «videoId» находятся внутри моего индекса списка, поскольку я использую listview.builder и получаю данные из API. поэтому почти невозможно сопоставить «videoId» вне списка с контроллером. Я уверен, что вы внесли это изменение для улучшения, но я думаю, что лучше иметь «videoId» внутри «youtubeplayer».
Еще раз спасибо за эту замечательную библиотеку.
@Xoshbin Переместил videoId
в контроллер, чтобы обеспечить согласованность (поскольку я скоро добавлю поддержку flutter web) и чтобы соответствовать поведению API YouTube IFrame Player.
Что касается вашей проблемы со списками видео, решение здесь .
@sarbagyastha Я знаю, что тоже это проверял. но в моей ситуации идентификатор видео находится внутри индекса «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 Спасибо, так сработало :)