バグを説明する
YoutubePlayerIFrameをリストビュー内に置いた場合、ウィジェットにカーソルを合わせてスクロールしてみてください。これは機能しません。
再現するには
動作を再現する手順:
予想される行動
ListViewは、ネイティブアプリのようにスクロール可能である必要があります。
技術的な詳細:
このコードを追加して、コンポーネントへのWebビューがスクロールイベントを処理しようとしないようにしてください
YoutubePlayerIFrame(
gestureRecognizers: <Factory<OneSequenceGestureRecognizer>>{},
controller: _controller,
),
モバイルでは問題なく動作します🔥、よろしく!
gestureRecognizers: <Factory<OneSequenceGestureRecognizer>>{},
このソリューションはWebでは機能しません。
同じ問題があります。
私は同じ問題を抱えています、これの解決策を持つことができる人はいますか?
私は同じ問題を抱えています、これの解決策を持つことができる人はいますか?
@quangvtvp私の解決策は、パッケージyoutube_plyr_iframeに変更することでした。
私は同じ問題を抱えています、これの解決策を持つことができる人はいますか?
@quangvtvp私の解決策は、パッケージyoutube_plyr_iframeに変更することでした。
@FerBueroTrebinoもWebで機能しません。特定の構成を使用しましたか?
@ deepakrana0011スクロールバーウィジェットを追加しようとしましたか?
これが私の実装のコードです:
class YoutubePlayer extends StatefulWidget {
final String videoID;
YoutubePlayer(this.videoID);
<strong i="8">@override</strong>
_YoutubePlayerState createState() => _YoutubePlayerState();
}
class _YoutubePlayerState extends State<YoutubePlayer> {
<strong i="9">@override</strong>
Widget build(BuildContext context) {
return Material(
color: Colors.transparent,
child: InkWell(
onTap: () {
_showDialog(
context,
widget.videoID,
);
},
child: Stack(
alignment: Alignment.center,
children: <Widget>[
Stack(
children: <Widget>[
LayoutBuilder(
builder: (context, constraints) {
if (kIsWeb && constraints.maxWidth > 800) {
return Container(
color: Colors.transparent,
padding: EdgeInsets.all(5),
width: MediaQuery.of(context).size.width / 2,
child: ClipRRect(
borderRadius: BorderRadius.circular(10.0),
child: new Image.network(
YoutubePlayerController.getThumbnail(
videoId: widget.videoID,
// todo: get thumbnail quality from list
quality: ThumbnailQuality.max),
fit: BoxFit.fill,
),
),
);
} else {
return Container(
color: Colors.transparent,
padding: EdgeInsets.all(5),
width: MediaQuery.of(context).size.width * 2,
child: ClipRRect(
borderRadius: BorderRadius.circular(10.0),
child: new Image.network(
YoutubePlayerController.getThumbnail(
videoId: widget.videoID,
// todo: get thumbnail quality from list
quality: ThumbnailQuality.max,
webp: false),
fit: BoxFit.fill,
),
),
);
}
},
),
],
),
Icon(
Icons.play_circle_filled,
color: Colors.white,
size: 55.0,
),
],
),
),
);
}
@ deepakrana0011スクロールバーウィジェットを追加しようとしましたか?
これが私の実装のコードです:
class YoutubePlayer extends StatefulWidget { final String videoID; YoutubePlayer(this.videoID); <strong i="9">@override</strong> _YoutubePlayerState createState() => _YoutubePlayerState(); } class _YoutubePlayerState extends State<YoutubePlayer> { <strong i="10">@override</strong> Widget build(BuildContext context) { return Material( color: Colors.transparent, child: InkWell( onTap: () { _showDialog( context, widget.videoID, ); }, child: Stack( alignment: Alignment.center, children: <Widget>[ Stack( children: <Widget>[ LayoutBuilder( builder: (context, constraints) { if (kIsWeb && constraints.maxWidth > 800) { return Container( color: Colors.transparent, padding: EdgeInsets.all(5), width: MediaQuery.of(context).size.width / 2, child: ClipRRect( borderRadius: BorderRadius.circular(10.0), child: new Image.network( YoutubePlayerController.getThumbnail( videoId: widget.videoID, // todo: get thumbnail quality from list quality: ThumbnailQuality.max), fit: BoxFit.fill, ), ), ); } else { return Container( color: Colors.transparent, padding: EdgeInsets.all(5), width: MediaQuery.of(context).size.width * 2, child: ClipRRect( borderRadius: BorderRadius.circular(10.0), child: new Image.network( YoutubePlayerController.getThumbnail( videoId: widget.videoID, // todo: get thumbnail quality from list quality: ThumbnailQuality.max, webp: false), fit: BoxFit.fill, ), ), ); } }, ), ], ), Icon( Icons.play_circle_filled, color: Colors.white, size: 55.0, ), ], ), ), ); }
@FerBueroTrebinoコードに従って、YouTubeビデオを再生しているYouTubeビデオのサムネイルのみを表示しています
ここでも同じですが、どうしたらいいのかわかりません。
IvはプレーヤーをゼロからVIMEOに作成し、フラッター自体のビデオプレーヤーを使用して正常に動作しますが、YouTubeのすべてのプレーヤーには、修正方法に誰も答えられない多くの問題があります。
スクロールの問題に関するanyUpdate? または他に何かがウェブで機能しますか?
私は次のようなものを試しました
これ:StackOverflow
最も参考になるコメント
このコードを追加して、コンポーネントへのWebビューがスクロールイベントを処理しようとしないようにしてください
モバイルでは問題なく動作します🔥、よろしく!