You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter youtube_player_iframe全屏按钮失效及相关问题求助

解决youtube_player_iframe: ^4.0.1的全屏及视频标题问题

一、实现视频全屏播放(解决点击无响应、横屏报错)

  1. 配置页面方向权限
    在AndroidManifest.xml对应Activity中添加属性,避免横屏时页面重建导致视频中断:

    android:configChanges="orientation|screenSize|smallestScreenSize|keyboardHidden"
    android:screenOrientation="fullSensor"
    
  2. 初始化播放器时开启必要配置
    确保启用JavaScript并显示全屏按钮,这是全屏功能生效的基础:

    final controller = YoutubePlayerController(
      initialVideoId: '你的视频ID',
      params: const YoutubePlayerParams(
        autoPlay: false,
        showFullscreenButton: true,
        enableJavaScript: true,
      ),
    );
    
  3. 监听全屏状态并优化布局
    配合系统UI控制和布局组件,处理全屏前后的页面状态:

    YoutubePlayer(
      controller: controller,
      onEnterFullscreen: () {
        SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersive);
      },
      onExitFullscreen: () {
        SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
      },
    )
    

    另外,updateAcquireFence: Did not find frame错误多由WebView渲染与布局冲突导致,需确保播放器父布局无嵌套过深或约束冲突问题,同时Android端minSdkVersion不低于21。

二、获取视频链接对应的标题

youtube_player_iframe没有内置标题获取能力,需通过YouTube Data API实现:

  1. 添加网络请求依赖
    在pubspec.yaml中引入http包:

    dependencies:
      http: ^1.1.0
    
  2. 调用API获取标题
    替换你的API_KEY和目标视频ID,发起请求解析标题:

    import 'package:http/http.dart' as http;
    import 'dart:convert';
    
    Future<String?> getVideoTitle(String videoId) async {
      final apiKey = '你的API_KEY'; // 需在Google Cloud控制台创建并启用YouTube Data API v3
      final url = Uri.parse(
          'https://www.googleapis.com/youtube/v3/videos?id=$videoId&key=$apiKey&part=snippet');
      
      final response = await http.get(url);
      if (response.statusCode == 200) {
        final data = jsonDecode(response.body);
        if (data['items']?.isNotEmpty == true) {
          return data['items'][0]['snippet']['title'];
        }
      }
      return null;
    }
    

    注意:需为API密钥设置访问限制,防止滥用。

内容的提问来源于stack exchange,提问作者Taki Rajani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 07:31:07