flutter - Flutter better_player:如何从本地资产文件夹播放视频
问题描述
Q) 任何人都知道如何使用 Better_player 在本地为 iOS 和 Android 引用文件?
我找不到使用他们的文档的方法,我知道可以使用内部 Flutter VideoPlayer 插件来完成,但我想改用 better_player。
这适用于标准视频插件:
_videoController = VideoPlayerController.asset('assets/intro.mp4');
例如,在 /assets/intro.mp4 的项目根目录中加载视频
我已经用 better_player 试过了,但它没有找到文件:
BetterPlayerDataSource betterPlayerDataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.file, "assets/sample.mp4");
解决方案
我的例子:
videoPage.dart
import 'package:better_player/better_player.dart';
import 'package:better_player_example/utils.dart';
import 'package:flutter/material.dart';
return Scaffold(
appBar: AppBar(
title: Text("better player example"),
),
body: Column(
children: [
FutureBuilder<String>(
future: Utils.getFileUrl("testvideo.mp4"),
builder: (BuildContext context, AsyncSnapshot<String> snapshot) {
if (snapshot.data != null) {
return BetterPlayer.file(snapshot.data!);
} else {
return const SizedBox();
}
},
)
],
),
);
实用工具.dart
import 'package:path_provider/path_provider.dart';
class Utils {
static Future<String> getFileUrl(String fileName) async {
final directory = await getApplicationDocumentsDirectory();
return "${directory.path}/$fileName";
}
}
推荐阅读
- wordpress - woocommerce_update_product 操作 – 每次产品更新仅触发一次
- reactjs - 如何使用带有突变和图像上传的异步功能反应js
- r - R为数据框列表创建一个循环
- django - Django查询没有输出正确的结果
- javascript - 如何在Javascript中动态使用子对象值查找父JSON对象值?
- lucene - 使用休眠搜索以单词开头或以单词结尾
- ios - Xcode 使用 Drawercontroller 未声明的类型错误
- javascript - 带有 setInterval 的幻灯片
- linux-kernel - 向我的 Linux 添加新的设备驱动程序及其对 initrd 的影响
- php - php登录到仪表板,在chrome中显示数据泄露警报