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

iOS模拟器中video_player无法播放网络视频,已配置NSAppTransportSecurity

iOS模拟器中video_player无法播放网络视频的解决办法

1. 修复info.plist配置格式

你提供的info.plist代码存在格式错误,开头的<false/>属于多余内容,且ATS配置必须放在文件的根<dict>节点内。正确的配置如下:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

修改后重新打包运行,确保配置生效。

2. 验证视频源有效性

  • 直接在模拟器的Safari中打开你的视频链接,若Safari无法播放,说明问题出在视频本身:可能是链接失效、格式不支持(iOS原生仅支持H.264编码的MP4等少数格式,WebM这类格式无法直接播放)或视频服务器存在跨域/权限限制。
  • 换一个公开的测试视频链接(比如https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4)测试,排除视频源问题。

3. 修正代码异步逻辑

当前代码中,play()和setLooping(true)在控制器初始化完成前就被调用,此时控制器尚未就绪,命令不会生效。需将这些操作移至initialize()的回调内:

void initState() {
  super.initState();
  _controller = VideoPlayerController.network(
    widget.videoLink,
    videoPlayerOptions: VideoPlayerOptions(),
  )..initialize().then((_) {
      setState(() {});
      _controller.play();
      _controller.setLooping(true);
    });
}

4. 排查模拟器网络环境

  • 确认模拟器与主机处于同一网络,且能正常访问外网(可通过模拟器打开百度等网页验证)。
  • 若视频链接为内网地址,检查模拟器是否能访问该内网,必要时手动设置模拟器网络代理。

5. 更新插件版本

旧版本video_player可能存在模拟器适配bug,执行以下命令更新至最新稳定版:

flutter pub upgrade video_player

更新后重新运行项目。

6. 查看Xcode日志定位问题

打开Xcode运行项目,查看控制台输出,搜索video_player、AVPlayer相关错误信息,比如网络请求失败、解码错误等,日志会提供精准的问题线索。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 22:45:36