我video_palyer : ^2.1.0
在调试模式下使用正常播放的视频但是当我运行发布 apk 时视频没有播放
更新
问题flutter_facebook_auth
,flutter_facebook_login
当我删除它们时,视频工作正常是否有任何解决方案可以保留它们,因为我需要两者
video_player
和flutter_facebook_login
!
瞧我的flutter doctor :
[√] Flutter (Channel dev, 2.1.0-12.1.pre, on Microsoft Windows [Version 10.0.19042.867], locale en-US) • Flutter 版本 2.1.0-12.1.pre 在 C:\src\flutter • Framework修订版 8264cb3e8a(3 周前),2021-03-10 12:37:57 -0800 • 引擎修订版 711ab3fda0 • Dart 版本 2.13.0(内部版本 2.13.0-116.0.dev)
[√] Android 工具链 - 为 Android 设备开发(Android SDK 版本 30.0.3) • C:\Users\DEVANDROID\AppData\Local\Android\sdk 中的 Android SDK • 平台 android-30,构建工具 30.0.3 • Java二进制文件位于:C:\Program Files\Android\Android Studio\jre\bin\java • Java 版本 OpenJDK 运行时环境(内部版本 1.8.0_242-release-1644-b01) • 接受所有 Android 许可证。
[√] Chrome - 为网络开发 • Chrome 位于 C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Android Studio(版本 4.1.0) • Android Studio 位于 C:\Program Files\Android\Android Studio • Flutter 插件可以从以下位置安装: https ://plugins.jetbrains.com/plugin/9212-flutter • Dart插件可以从以下位置安装: https : //plugins.jetbrains.com/plugin/6351-dart • Java 版本 OpenJDK 运行时环境(内部版本 1.8.0_242-release-1644-b01)
[√] VS Code(版本 1.54.3) • VS Code 位于 C:\Users\DEVANDROID\AppData\Local\Programs\Microsoft VS Code • Flutter 扩展版本 3.20.0
[√] 连接设备(3 个可用) • EML L29(移动) • UBV7N18A12004906 • android-arm64 • Android 10 (API 29) • Chrome(网络) • chrome • web-javascript • Google Chrome 89.0.4389.114 • Edge(网络) • 边缘 • web-javascript • Microsoft Edge 89.0.774.63
• 未发现任何问题!进程以退出代码 0 结束
瞧我的代码示例:
VideoPlayerController _controller;
double width;
double height;
bool startedPlaying = false;
@override
void initState() {
super.initState();
_controller = VideoPlayerController.asset('assets/video/successEqo.mp4');
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
Future<bool> started() async {
_controller.setLooping(true);
_controller.setVolume(1);
await _controller.initialize();
await _controller.play();
startedPlaying = true;
return true;
}
@override
Widget build(BuildContext context) {
width = MediaQuery.of(context).size.width;
height = MediaQuery.of(context).size.height;
return Material(
color: Colors.transparent,
child: Container(
color: Colors.red,
child: FutureBuilder<bool>(
future: started(),
builder: (BuildContext context, AsyncSnapshot<bool> snapshot) {
if (snapshot.data == true) {
return AspectRatio(
aspectRatio: _controller.value.aspectRatio,
child: VideoPlayer(_controller),
);
} else {
return Center(child: const Text('waiting for video to load'));
}
},
)
,
),
);
}