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

ChewiePlayer加载视频失败(Source Error Null)求助

排查与解决Flutter Chewie播放本地服务器视频的Source Error问题

以下是针对你遇到的ExoPlayer Source Error问题的具体排查和解决步骤:

  • 检查Android网络权限与明文请求配置
    Android 9及以上系统默认禁止明文HTTP请求,若你的视频链接是HTTP协议,需在android/app/src/main/AndroidManifest.xml的<application>标签中添加配置:

    android:usesCleartextTraffic="true"
    

    同时确保已声明网络权限:

    <uses-permission android:name="android.permission.INTERNET" />
    
  • 验证服务器响应头与Range请求支持
    ExoPlayer依赖HTTP Range请求实现分段加载,需确认服务器是否支持该特性:

    • 用Postman对视频链接发送HEAD请求,检查响应头是否包含Accept-Ranges: bytes
    • 确认Content-Type是否为正确的视频MIME类型(如video/mp4),错误的类型会导致ExoPlayer无法识别视频源
      若服务器不支持Range请求,需调整服务器配置开启该功能。
  • 检查视频编码与容器兼容性
    浏览器支持的视频格式不一定完全匹配ExoPlayer的支持范围,ExoPlayer对H.264编码的MP4容器兼容性最好。可通过FFmpeg命令查看视频编码信息:

    ffmpeg -i your_video_file.mp4
    

    若为不兼容的编码,建议转码为H.264编码的MP4格式。

  • 调整视频初始化逻辑
    你的代码中同时执行了手动await videoController.initialize()和ChewieController的autoInitialize: true,可能导致初始化冲突。建议将ChewieController的autoInitialize改为false:

    chewieController = ChewieController(
        videoPlayerController: videoController,
        showControls: true,
        aspectRatio: videoController.value.aspectRatio,
        showControlsOnInitialize: false,
        allowFullScreen: true,
        autoInitialize: false, // 修改此处
        autoPlay: false,
        looping: false,
        errorBuilder: (context, string) {
          return Center(
              child: Text(
            string,
            style: const TextStyle(color: Colors.white),
          ));
        },
        allowPlaybackSpeedChanging: true,
        materialProgressColors: ChewieProgressColors(
          playedColor: Colors.red,
        ));
    
  • 添加错误日志获取详细信息
    给VideoPlayerController添加错误监听,获取更具体的错误描述:

    videoController = VideoPlayerController.network(
        'http://$SERVER_IP:8083/ukla/file-system-video/video/20')
      ..addListener(() {
        final value = videoController.value;
        if (value.hasError) {
          print('视频加载错误详情: ${value.errorDescription}');
        }
      });
    await videoController.initialize();
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 16:05:32