Files
Traders_Circuit/lib/view/Sidemenu/ContentByte/PlayerWidget.dart
2024-04-10 12:56:06 +05:30

73 lines
1.9 KiB
Dart

import 'package:chewie/chewie.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:video_player/video_player.dart';
class PlayerWidget extends StatefulWidget {
const PlayerWidget({super.key});
@override
State<PlayerWidget> createState() => _PlayerWidgetState();
}
class _PlayerWidgetState extends State<PlayerWidget> {
late VideoPlayerController videoPlayerController;
late ChewieController chewieController;
var videoUrl = Get.arguments["video_url"];
@override
void initState() {
_initializePlayer();
super.initState();
}
_initializePlayer() async {
try {
videoPlayerController = VideoPlayerController.networkUrl(
Uri.parse(videoUrl),
);
await videoPlayerController.initialize();
initChewie();
setState(() {});
} catch (e) {
print("Error initializing video player: $e");
}
}
initChewie() {
chewieController = ChewieController(
videoPlayerController: videoPlayerController,
autoPlay: true,
looping: false);
}
@override
Widget build(BuildContext context) {
return videoPlayerController != null &&
videoPlayerController.value.isInitialized
? Scaffold(
backgroundColor: Colors.black,
appBar: AppBar(
backgroundColor: Colors.black,
leading: InkWell(
onTap: () => Get.back(),
child: Icon(
Icons.arrow_back_ios,
color: Colors.white,
),
),
),
// CommonAppbar(titleTxt: ""),
body: Center(
child: AspectRatio(
aspectRatio: videoPlayerController.value.aspectRatio,
child: Chewie(
controller: chewieController,
),
),
),
)
: Center(child: CircularProgressIndicator());
}
}