【发布时间】:2019-11-14 11:19:54
【问题描述】:
嘿,我正在使用 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)
【问题讨论】:
-
iOS 路径看起来不太好。您是否尝试过使用 path_provider 包的函数
getTemporaryDirectory? -
是的,完全一样。这是在模拟器中。但在真实设备中也是如此。所以路径应该没问题。
-
尝试使用
File.fromUri(Uri.parse(fullPath)) -
@IgorKharakhordin 它的工作!谢谢你。但是你知道问题出在哪里吗?
-
我已经发布了答案