When I am running current code... I get this error:
UnimplementedError (UnimplementedError: init() has not been implemented.)
In phone all very slowdown show on display, but errors not found!
Code:
final videos = [
'assets/videos/Frozen_Flower_In_Ice_1402.mp4',
'assets/videos/Main_EarthPlanet.mp4',
];
class VideosScreen extends StatefulWidget {
const VideosScreen({super.key});
@override
State<VideosScreen> createState() => _VideosScreenState();
}
class _VideosScreenState extends State<VideosScreen> {
late PageController _pageController;
@override
void initState() {
super.initState();
_pageController = PageController(viewportFraction: 0.8);
}
@override
void dispose() {
_pageController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return PageView.builder(
controller: _pageController,
itemCount: videos.length,
itemBuilder: (context, index) {
return VideoCard(
assetPath: videos[index],
);
},
);
}
}
class VideoCard extends StatefulWidget {
const VideoCard({
super.key,
required this.assetPath,
});
final String assetPath;
@override
State<VideoCard> createState() => _VideoCardState();
}
class _VideoCardState extends State<VideoCard> {
late VideoPlayerController _controller;
@override
void initState() {
super.initState();
_controller = VideoPlayerController.asset(widget.assetPath);
_controller
..addListener(() => setState(() {}))
..setLooping(true)
..setVolume(0)
..initialize().then((_) => setState(() {}))
..play();
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return AnimatedContainer(
duration: const Duration(milliseconds: 250),
margin: const EdgeInsets.symmetric(vertical: 32, horizontal: 16),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(16),
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.3),
offset: const Offset(0, 6),
blurRadius: 8,
),
],
),
child: ClipRRect(
borderRadius: BorderRadius.circular(16),
child: AspectRatio(
aspectRatio: _controller.value.aspectRatio,
child: VideoPlayer(_controller),
),
),
);
}
}
In videos errors not!
And more... when I start app in chrome... app not slowdown show on display as in the phone although ram memory in excess.
Set duration and rewrote code and lower fps... nothing helped.