【问题标题】:When I view a page that contains YoutubePlayerController, the next page stops working当我查看包含 YoutubePlayerController 的页面时,下一页停止工作
【发布时间】:2021-12-02 20:17:28
【问题描述】:

问题

加载 YoutubePlayerIFrame 后下一页的小部件将不起作用。

例如,假设您有 A 和 B 状态小部件。 首先加载 A,其中调用 YoutubePlayerIFrame。 你可以在 A 中按下按钮,但是当你移动到 B 时,屏幕会在那里冻结。

我认为这是youtube_player_iframe的原因,但是页面转换可能是原因,所以我会写详细信息。

详情

我正在使用youtube_player_iframe 开发网络应用程序。 我在 A StatefulWidget 中编写了以下 YoutubePlayerIFrame。

        YoutubePlayerIFrame(
          controller: YoutubePlayerController(
            initialVideoId: "NVzIALG7CUc",
            params: YoutubePlayerParams(
              showVideoAnnotations: false,
              autoPlay: false,
              startAt: Duration(seconds: 0),
              showControls: true,
              showFullscreenButton: false,
            ),
          ),
          aspectRatio: 16 / 9,
        ),

视频已正确显示。

页面过渡

使用此代码加载其他页面;

runApp(MaterialApp(
 onGenerateRoute: (settings){
  Widget wid = Home();
   switch(settings.name){
     case ...........
   }

   return PageRouteBuilder(
    settings: settings,
    pageBuilder: (_, __, ___) => wid,
            transitionsBuilder: (_, a, __, c) =>
                FadeTransition(opacity: a, child: c));
)

然后调用它;

  Navigator.of(context).pushReplacementNamed('/' + path);

当我从代码中删除 YoutubePlayerIFrame 时,它可以工作。

我该怎么办?

【问题讨论】:

    标签: flutter dart youtube flutter-web


    【解决方案1】:

    这是不正确的,但是当我这样做时,效果会更好。

    只需在所有页面中粘贴YoutubePlayerIFrame()

    还需要回答...

    【讨论】:

      【解决方案2】:

      我放弃使用 youtube_player_iframe。

      所以我决定用webviewx 播放 YouTube 视频。 到目前为止效果更好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-30
        • 1970-01-01
        • 2015-12-21
        • 2012-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-03
        相关资源
        最近更新 更多