VideoCompress Mediainfo 错误与颤动
VideoCompress Mediainfo error with flutter
你好,我遇到一个问题,当尝试设置变量 mediainfo 的类型时,flutter 要求 VideoCompress.compressVideo();
returns 是 Future<MediaInfo>
的类型
语法错误如下A value of type 'Future<MediaInfo>' can't be assigned to a variable of type 'MediaInfo'.
并且在使用 VideoCompress.getMediaInfo(file)
时似乎 不是 return MediaInfo 类型,因为当我尝试将其分配给变量时它无法提供.path
方法。
这是代码示例。
static Future<MediaInfo> compressVideo(file, context) async{
await VideoCompress.compressVideo(file,
quality: VideoQuality.HighestQuality, deleteOrigin: true);
final info = VideoCompress.getMediaInfo(file);
return info;
尝试访问 .path
click me
那是因为 compressVideo 函数没有 return MediaInfo,它 return 是未来的,所以你需要等待它。
final info = await VideoCompressApi.compressVideo(filePath, context);
setState((){
compressedInfo = info.path;
});
编辑:
您还可以使用:
VideoCompressApi.compressVideo(filePath, context).then((info) {
setState(() => compressedInfo = info.path);
});
你好,我遇到一个问题,当尝试设置变量 mediainfo 的类型时,flutter 要求 VideoCompress.compressVideo();
returns 是 Future<MediaInfo>
语法错误如下A value of type 'Future<MediaInfo>' can't be assigned to a variable of type 'MediaInfo'.
并且在使用 VideoCompress.getMediaInfo(file)
时似乎 不是 return MediaInfo 类型,因为当我尝试将其分配给变量时它无法提供.path
方法。
这是代码示例。
static Future<MediaInfo> compressVideo(file, context) async{
await VideoCompress.compressVideo(file,
quality: VideoQuality.HighestQuality, deleteOrigin: true);
final info = VideoCompress.getMediaInfo(file);
return info;
尝试访问 .path
click me
那是因为 compressVideo 函数没有 return MediaInfo,它 return 是未来的,所以你需要等待它。
final info = await VideoCompressApi.compressVideo(filePath, context);
setState((){
compressedInfo = info.path;
});
编辑: 您还可以使用:
VideoCompressApi.compressVideo(filePath, context).then((info) {
setState(() => compressedInfo = info.path);
});