0

我正在尝试使用 lib https://pub.dev/packages/flutter_ffmpeg从视频中获取元数据,

下面的代码不适用于 ffmpeg

  Directory appDocDir = await getApplicationDocumentsDirectory();
  String appDocPath = appDocDir.path;
  File file = File('{$appDocPath}/folder_name/out.mp4');
  final FlutterFFprobe _flutterFFprobe = new FlutterFFprobe();

 _flutterFFprobe.getMediaInformation(file.path).then((info) => print(info));

我该如何解决上述问题?

4

1 回答 1

1

首先需要文件存储访问权限,然后 ffmpeg lib 可以访问给定的路径

添加存储权限

permission_handler: ^5.0.1 // in pubspec.yaml file

在访问视频之前请求运行时权限

    var status = await Permission.storage.status;
          if (status.isUndetermined) {
            // You can request multiple permissions at once.
            Map<Permission, PermissionStatus> statuses = await [
              Permission.storage,
            ].request();
            print(statuses[Permission.storage]); // this must show permission granted. 
          }

最后,将其与具有存储路径的 ffmpeg 一起使用

          File file = File('/storage/emulated/0/folder_name/out.mp4');
          final FlutterFFprobe _flutterFFprobe = new FlutterFFprobe();

          _flutterFFprobe
              .getMediaInformation(file.path)
              .then((info) => print(info)); // This should print metadata inside of video
于 2020-06-15T09:51:22.847 回答