我在我的 Assets 文件夹中保存了一个视频,我正在尝试使用 File 类获取该视频。
例如:
Final File video = File(String path);
所以我的问题是在哪里可以找到字符串路径?
我已经将此文件添加到 pubspec.yaml
assets:
- assets/mbf.mp4
谢谢
回答
getVideo() async {
var response = await rootBundle.load('assets/mbf.mp4');
final directory = await getApplicationDocumentsDirectory();
var file = File("${directory.path}/mbf.mp4");
file.writeAsBytesSync(response.buffer.asUint8List());
//Use it with VideoPlayer
controller = VideoPlayerController.file(file)
..addListener(() => setState(() {}))
..setLooping(true)
..initialize().then((_) => controller.play());
}
最佳答案
您需要将文件复制到设备,然后获取文件路径。
查看示例代码:
void _copyAssetToLocal() async {
try {
var content = await rootBundle.load("assets/intro.mp4");
final directory = await getApplicationDocumentsDirectory();
var file = File("${directory.path}/intro.mp4");
file.writeAsBytesSync(content.buffer.asUint8List());
loadIntroVideoMethod(file.path);
} catch (e) {
}}
关于Flutter:如何获取文件类的 Assets 路径(视频),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72260900/