| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import 'package:chewie/chewie.dart';
- import 'package:flutter/Material.dart';
- import 'package:flutter_screenutil/flutter_screenutil.dart';
- import 'package:video_player/video_player.dart';
- import 'package:wechat_assets_picker/wechat_assets_picker.dart';
- import 'package:get/get.dart';
- import '../resource/assets.gen.dart';
- void playVideoDialog(AssetEntity asset) async {
- try {
- final mediaUrl = await asset.getMediaUrl();
- if (mediaUrl == null) return;
- final videoPlayerController =
- VideoPlayerController.networkUrl(Uri.parse(mediaUrl));
- await videoPlayerController.initialize();
- final chewieController = ChewieController(
- videoPlayerController: videoPlayerController,
- autoPlay: true,
- looping: true,
- showOptions: false,
- );
- Get.dialog(
- useSafeArea: false,
- Dialog(
- insetPadding: EdgeInsets.zero,
- backgroundColor: Colors.black,
- child: SizedBox(
- width: double.infinity,
- height: double.infinity,
- child: Stack(
- children: [
- SafeArea(child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- GestureDetector(
- onTap: () {
- Get.back();
- },
- child:Padding(padding: EdgeInsets.only(left: 16.w,top: 16.h),child: Assets.images.iconBackArrow.image(
- width: 28.w,
- height: 28.h,
- )),
- ),
- Expanded(
- child: Chewie(controller: chewieController),
- ),
- ],
- ),),
- IgnorePointer(
- child: Assets.images.bgHome.image(
- width: 360.w,
- fit: BoxFit.cover,
- ),
- ),
- ],
- ),
- ),
- ),
- barrierDismissible: true,
- ).then((_) {
- videoPlayerController.dispose();
- chewieController.dispose();
- });
- await videoPlayerController.play();
- } catch (e) {
- print('Error playing video: $e');
- Get.snackbar('Error', 'Failed to play video');
- }
- }
|