Flutter:如何获取文件类的 Assets 路径(视频)

标签 flutter file assets filepath

我在我的 Assets 文件夹中保存了一个视频,我正在尝试使用 File 类获取该视频。

例如:

Final File video = File(String path);

所以我的问题是在哪里可以找到字符串路径?

我已经将此文件添加到 pubspec.yaml

assets:
    - assets/mbf.mp4

谢谢

回答

getVideo() async {
var response = await rootBundle.load('assets/mbf.mp4');
final directory = await getApplicationDocumentsDirectory();
var file = File("${directory.path}/mbf.mp4"); 
file.writeAsBytesSync(response.buffer.asUint8List());

//Use it with VideoPlayer

controller = VideoPlayerController.file(file)
  ..addListener(() => setState(() {}))
  ..setLooping(true)
  ..initialize().then((_) => controller.play());
 }

最佳答案

您需要将文件复制到设备,然后获取文件路径。

查看示例代码:

void _copyAssetToLocal() async {
try {
  var content = await rootBundle.load("assets/intro.mp4");
  final directory = await getApplicationDocumentsDirectory();
  var file = File("${directory.path}/intro.mp4");
  file.writeAsBytesSync(content.buffer.asUint8List());
  loadIntroVideoMethod(file.path);
} catch (e) {
  
}}

关于Flutter:如何获取文件类的 Assets 路径(视频),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72260900/

相关文章:

android - 如何将图像转换为base64以使用http帖子请求发送

java - 从当前包中获取文件

xml - BASH SHELL SCRIPT 将一个大的 xml 文件拆分成多个小文件

javascript - 包含来自 webpack 捆绑的 npm 包的 Assets

Flutter 设置带有文本子项的容器背景

dart - 如何在继续 flutter 之前等待 future 的对象?

c# - 计算文件的持续时间

path - Dropwizard 0.8.0 : serve static assets from/

ruby-on-rails - 将 HTML5 离线支持添加到 Rails 3.1 应用程序

Flutter NetworkImage 错误