在一个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