No implementation found for method file on channel video_thumbnail

在一个flutter项目中,使用了VideoThumbnail来生成视频的截图,但运行会提示“No implementation found for method file on channel video_thumbnail”,相当代码如下:

final thumbnailPath = await VideoThumbnail.thumbnailFile(
    video: video.url,
    thumbnailPath: (await getTemporaryDirectory()).path,
    imageFormat: ImageFormat.WEBP,
    maxHeight: height,
    maxWidth: width,
    // specify the height of the thumbnail, let the width auto-scaled to keep the source aspect ratio
    quality: 75,
  );

查看video.url,可以在浏览器中打开。发现是http开头的,估计是android9.x(api27及以上)默认不允许http请求。使用API23的模拟器确实可以正常跑,于是打开androidappsrcmainAndroidManifest.xml,在其application添加

android:usesCleartextTraffic="true"

问题解决。以下是我使用的环境

Android Studio 4.1.2

Flutter 2.0.1

 
原文地址:https://www.cnblogs.com/kevin-Y/p/14921386.html