【问题标题】:MissingPluginException(No implementation found for method file on channel video_thumbnail)MissingPluginException(未找到通道 video_thumbnail 上的方法文件的实现)
【发布时间】:2020-11-24 11:14:53
【问题描述】:

我正在使用video_thumbnail 0.2.4 包来获取缩略图形式的视频网址。如果我从 android 设备上传视频,那么它的工作完美但如果我使用 iPhone 设备,总是得到错误

MissingPluginException(No implementation found for method file on channel video_thumbnail)

我使用Firestore 作为后端并使用Firebase Storage 存储我的视频/照片。下面是我的代码。网址正确,视频正在浏览器中播放。

Future<String> thumbnailImageFromVideoUrl(String url, String feedID) async {
    try {
      String filePath = _strDirectoryPath + "/" + feedID + '.png';
      print("filePath -- $filePath");
      print("videoURL -- $url");
      return await VideoThumbnail.thumbnailFile(
        video: url,
        thumbnailPath: filePath,
        imageFormat: ImageFormat.PNG,
        maxHeight: 240,
        quality: 50,
      );
    } catch (e) {
      print("Video Thumbnail Error: $e");
      return null;
    }
  }

请帮我解决这个问题。

【问题讨论】:

  • 您是否检查过文件路径是否在 IOS 中可访问,并且是否有权访问他的图像和保存图像,由于安全性,IOS 需要与 android 不同的保存目录的图像存在类似问题背景
  • 是的,以前工作得很好,而且我也用 android 设备检查了相同的 url。安卓设备也有同样的问题。
  • 在黑暗中拍摄,无法测试自己,但我看到缩略图没有分配最大宽度,我知道它应该根据纵横比或原始图像进行缩放,但我会尝试添加硬编码看到你已经有高度的宽度值
  • 也建议尝试不同的图像格式
  • @RubenMeiring 是的,您无法测试,但非常感谢您对我的支持。我已经尝试了所有的东西,比如改变图像格式类型、改变高度/宽度和filePath,但都没有成功。

标签: android ios flutter dart


【解决方案1】:

我一直在使用video_thumbnail 0.4.3 (Video Thumbnail),发现由于某些视频格式,SDK 会产生这种错误。 目前还没有解决方案,但是您可以通过try:catch 函数来控制它。

我还使用link of issue i've created 在 GitHub 存储库上创建了问题。

【讨论】:

    猜你喜欢
    • 2021-11-25
    • 2020-05-15
    • 2022-07-26
    • 2020-10-20
    • 2020-04-20
    • 2023-03-20
    • 2021-12-17
    • 2020-08-14
    • 1970-01-01
    相关资源
    最近更新 更多