3

在 android 10 和 11(SDK 编号 29 和 30)中,音乐封面(艺术品)格式与以前的版本不同,事实上,它们不能作为支持的图像文件(如 jpg 或 png)读取,它们是 uint8lists 和只有 Image.memory 小部件接受并显示它们。

现在,我的问题是我不想将它们作为记忆图像读取,我需要 jpg 等文件。

搜了很多!阅读了很多,发现只有 1,没有工作的解决方案!那就是将unit8list作为字节写入文件中,其路径以“.jpg”结尾。正如我所说,它不起作用。

任何人都可以帮忙吗?

在此先感谢,<3。

final io.File image = File('directory/image.jpg').create();
image.writeAsBytesSync(uint8list);

uint8list 示例:[255, 216, 255, 224, 0, 16, 74, 70, 73, 70, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 255, 226, 2, 40、73、67、67、95、80、82……]

长度:千

4

1 回答 1

1

要将 Uint8list 写入文件,您可以使用File(String).writeAsBytes(Uint8list);. 您可以在 File 对象上设置路径和文件扩展名,并在writeAsBytes()上传递图像字节

Uint8List imageBytes;
File('image.jpg').writeAsBytes(imageBytes);
于 2022-01-21T01:07:09.173 回答