如何在 flutter 中嵌入视频后删除 Youtube 品牌

问题描述 投票:0回答:1

我想在我的 Flutter 应用程序中播放 YouTube 视频,并且能够隐藏所有内容(频道名称、视频标题和 YouTube 徽标)。

  • 我最初尝试使用

    youtube_player_flutter
    包,但事实证明它无法实现这一点。

  • 随后,我尝试了

    youtube_player_iframe
    包,它号称是100%可定制的。然而,我找不到隐藏一切的方法。如果您有任何见解,请告诉我。

enter image description here

我已经尝试过实现这一目标。通过我当前的方法,我已成功隐藏视频中的 YouTube 徽标和详细信息。但是,我面临自动播放功能不起作用的问题。任何有关如何解决此问题的建议将不胜感激。

如果可以使用 youtube_player_iframe 包实现此目的,请提供有关如何实现它的指导。

class YoutubePlayerWidget extends StatefulWidget {
  final String videoId;

  const YoutubePlayerWidget({Key? key, required this.videoId})
      : super(key: key);

  @override
  _YoutubePlayerWidgetState createState() => _YoutubePlayerWidgetState();
}

class _YoutubePlayerWidgetState extends State<YoutubePlayerWidget> {
  late WebViewController _controller;

  @override
  Widget build(BuildContext context) {
    double screenWidth = MediaQuery.of(context).size.width;
    double screenHeight = screenWidth * (16 / 9);

    String youtubePlayerHtml =
        '''
      <html>
        <head>
          <style>
            body {
              margin: 0;
              overflow: hidden;
            }
            iframe {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
            }
          </style>
        </head>
        <body>
          <iframe
            width="$screenWidth"
            height="$screenHeight"
            src="https://www.youtube.com/embed/${widget.videoId}?controls=0&modestbranding=1&rel=0&autoplay=1&showinfo=0"
            frameborder="0"
            allowfullscreen
            id="youtubeIframe"
          ></iframe>
        </body>
      </html>
    ''';

    return SizedBox(
      height: screenHeight,
      width: screenWidth,
      child: WebView(
        initialUrl: 'about:blank',
        javascriptMode: JavascriptMode.unrestricted,
        onWebViewCreated: (WebViewController webViewController) {
          _controller = webViewController;
          _controller.loadUrl(
              Uri.dataFromString(youtubePlayerHtml, mimeType: 'text/html')
                  .toString());
        },
      ),
    );
  }
}
flutter youtube youtube-iframe-api
1个回答
-1
投票

尝试使用这个包y_player,非常简化的YouTube播放器版本,没有任何品牌。

© www.soinside.com 2019 - 2024. All rights reserved.