我从Firestore下载MP4文件。然后我用ChaceManager该高速缓存中确定它。比如:
dev.log(name: 'Resource_Explorer', 'Trying to chace Video: $videoName');
final storageRef = _firebaseStorage.ref(path);
final fileData = await storageRef.getData();
return ExplorerFileInfo(await cacheinstance.putFile(path, fileData!, key: path), FileState.downloaded);
然后我将视频提供给我的视频播放器:
final videoFile = (await resourceExplorer.getVideoFile(videoPath)).value;
在Android上一切正常。但是在iOS上,我得到了错误:
[VERBOSE-2:dart_vm_initializer.cc(41)]未处理的异常:PlatformException(VideoError,无法加载视频:无法打开,null,null)
我搜索错误“无法加载视频:无法打开',发现GitHub问题仍然打开。但只有一个人和我一样打不开。他们得到的错误如下:'无法加载视频:操作已停止。而这个问题至今仍未解决。这似乎是一个HTTP错误。
我可以从我的资产播放相同的视频。我能够做同样的步骤来显示在iOS和Android上的图像.
我将感激任何帮助。先谢谢你了!
更新:
在我用Duo包而不是.getData()下载文件后,我能够按照希望的mp4方式交付文件,并使用video_player播放它。
但是,如果我用缓存管理器保护该高速缓存中的数据,我将获得作为.file的数据,而video_player无法在iOS上播放.file文件。
1条答案
按热度按时间bttbmeg01#
我解决了问题。
不知何故,video_player可以在Android上打开“*.file”,但在iOS上!
要解决这个问题,你必须重命名你的videoFile像: