Flutter项目路径配置正确但Video File无法找到求助
Flutter BetterPlayer加载Assets视频文件失败排查
问题根源
你在Video.dart中创建BetterPlayerDataSource时,错误使用了BetterPlayerDataSourceType.file类型。这个类型用于读取设备本地文件系统中的文件,而你放在assets文件夹中的视频是打包在应用程序内部的资源,需要使用BetterPlayerDataSourceType.asset类型来加载。
错误日志中显示/whale.mp4找不到,就是因为file类型会把路径当作设备根目录下的绝对路径去查找,自然找不到assets里的文件。
修复步骤
- 修改
Video.dart中BetterPlayerDataSource的类型为BetterPlayerDataSourceType.asset - 确保已经执行过
flutter pub get(如果修改pubspec后没执行过) - 重启应用
修改后的Video.dart关键代码
@override void initState() { super.initState(); BetterPlayerDataSource betterPlayerDataSource = BetterPlayerDataSource( BetterPlayerDataSourceType.asset, // 将file替换为asset "assets/whale.mp4", ); _betterPlayerController = BetterPlayerController( const BetterPlayerConfiguration( autoPlay: true, looping: false, aspectRatio: 16 / 9, ), betterPlayerDataSource: betterPlayerDataSource, ); }
额外验证点
- 确认
assets文件夹在项目根目录下,且whale.mp4文件确实存在 - 确认
pubspec.yaml中的assets配置没有缩进错误(你的配置格式是正确的) - 若问题仍存在,可尝试清除应用缓存后重新运行
内容的提问来源于stack exchange,提问作者Prithiv shiv M V
相关产品推荐
相关产品推荐

