嘿,我正在使用flutter_sound包进行录音。
但是当我从记录器文件路径中创建File()对象时,尝试调用length()或readBytes()函数时,在iOS上没有出现预期的错误。
在Android上一切正常,因此我尝试比较了两个平台上的制作文件,它们有些不同
ANDROID文件路径= / storage / emulated / 0 /...
iOS文件路径= file:/// Users / kleinpetr / Library / Developer / ...
我认为问题出在不同的路径上。
iOS上的错误看起来像这样
Cannot retrieve length of file, path =
'file:///Users/kleinpetr/Library/Developer/CoreSimulator/Devices/62B6742D-0FA4-4B92-B138
0D9E717DB91B/data/Containers/Data/Application/8587EB31-CF5D-4045-950B
6C011AE3EA96/Library/Caches/voice-message.m4a' (OS Error: No such file or directory, errno = 2)
答案 0 :(得分:0)
因此,使用File.fromUri(Uri.parse(fullPath))
为您工作。您提供给File类的实际上不是路径,而是URI字符串(它的协议开头指定了file://)。您要做的就是解析URI并从中创建一个文件。