Я использую пакет камеры flutter для записи видео и сохранения видео во временную директорию, после чего я использую пакет ffmpeg
flutter для некоторого преобразования. Однако, чтобы достичь этого, мне сначала пришлось сделать копию записанного видео, чтобы создать путь к выходному файлу.
Проблема возникает, когда я пытаюсь загрузить ресурс с устройства. Блок кода ниже выполняет копирование и переименование файла.
static Future<File> copyFileAssets(String assetName, String localName) async {
ByteData assetByteData = await rootBundle.load(assetName);
final List<int> byteList = assetByteData.buffer
.asUint8List(assetByteData.offsetInBytes, assetByteData.lengthInBytes);
final String fullTemporaryPath =
join((await tempDirectory).path, localName);
return new File(fullTemporaryPath)
.writeAsBytes(byteList, mode: FileMode.writeOnly, flush: true);
}
Проблема заключается в этой строке ByteData assetByteData = await rootBundle.load(assetName);
Я получаю это сообщение об ошибке Unable to load asset: /storage/emulated/0/Android/data/com.timz/files/timz/1585820950555.mp4
, но странная вещь, это происходит только когда я запускаю сборку для первого. Все остальное работает нормально при последующих горячих перезапусках.