Flutter中youtube_player_iframe在Web端(含移动端)无法显示问题求助
Flutter Web端内嵌YouTube视频空白问题排查
我在Flutter应用中尝试用youtube_player_iframe内嵌YouTube视频,以下场景视频能正常显示:
- 运行Android APK安装包
- 在Android Studio模拟器中启动应用
但在以下场景中页面显示空白:
- iOS移动端打开web.app
- Android移动端打开web.app
- PC端Chrome浏览器打开web.app
我也曾试过youtube_player_flutter,但在上述Web场景(iOS/Android移动端、PC Chrome)中,视频无法启动且陷入无限加载循环。
应用代码
class YoutubeAppDemo extends StatefulWidget { @override _YoutubeAppDemoState createState() => _YoutubeAppDemoState(); } class _YoutubeAppDemoState extends State<YoutubeAppDemo> { late YoutubePlayerController _controller; @override void initState() { super.initState(); _controller = YoutubePlayerController( params: const YoutubePlayerParams( showControls: true, mute: true, showFullscreenButton: false, loop: false, ), ); _controller.loadVideoById( videoId: 'egMWlD3fLJ8', startSeconds: 0, ); } @override Widget build(BuildContext context) { /*return YoutubePlayerScaffold( controller: _controller, builder: (context, player) {*/ return Scaffold( appBar: AppBar( title: const Text('Youtube Player IFrame Demo'), ), body: ListView( children: [ YoutubePlayer(controller: _controller), const Controls(), ], ) ); // }, //); } @override void dispose() { _controller.close(); super.dispose(); } } /// class Controls extends StatelessWidget { /// const Controls(); @override Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.all(16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text("MetaDataSection"), _space, Text("SourceInputSection"), _space, Text("PlayPauseButtonBar"), _space, const Text("VideoPositionSeeker"), _space, Text("PlayerStateSection"), ], ), ); } Widget get _space => const SizedBox(height: 10); }
显示对比截图
- 模拟器/APK端正常显示:

- Web端空白页:

内容的提问来源于stack exchange,提问作者Fabrizio
相关产品推荐
相关产品推荐

